結果

提出番号 1891
提出者 yamad
言語 C++
提出日時 2018-08-04 14:25:02
問題名 (73)観光計画
結果 AC
点数 100%

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 100% 147ms 52416KB
2 AC 100% 183ms 55520KB
3 AC 100% 63ms 26912KB
4 AC 100% 257ms 82640KB
5 AC 100% 118ms 50640KB
6 AC 100% 217ms 62048KB
7 AC 100% 211ms 58896KB
8 AC 100% 177ms 49328KB
9 AC 100% 135ms 49680KB
10 AC 100% 262ms 63376KB
11 AC 100% 125ms 41792KB
12 AC 100% 33ms 22240KB
13 AC 100% 89ms 31248KB
14 AC 100% 232ms 67936KB
15 AC 100% 178ms 43920KB
16 AC 100% 184ms 62144KB
17 AC 100% 229ms 55808KB
18 AC 100% 174ms 53104KB
19 AC 100% 36ms 19760KB
20 AC 100% 107ms 33776KB
21 AC 100% 78ms 37488KB
22 AC 100% 93ms 34048KB
23 AC 100% 115ms 39744KB
24 AC 100% 323ms 72592KB
25 AC 100% 230ms 55904KB
26 AC 100% 298ms 66896KB
27 AC 100% 62ms 25328KB
28 AC 100% 57ms 28704KB
29 AC 100% 181ms 55280KB
30 AC 100% 104ms 29408KB
31 AC 100% 285ms 67664KB
32 AC 100% 190ms 58992KB
33 AC 100% 33ms 21040KB
34 AC 100% 246ms 66976KB
35 AC 100% 30ms 21472KB
36 AC 100% 184ms 54320KB
37 AC 100% 93ms 37616KB
38 AC 100% 26ms 20528KB
39 AC 100% 319ms 72160KB
40 AC 100% 29ms 21664KB
41 AC 100% 278ms 86720KB
42 AC 100% 60ms 27456KB
43 AC 100% 283ms 87552KB
44 AC 100% 172ms 55616KB
45 AC 100% 157ms 44816KB
46 AC 100% 201ms 60144KB
47 AC 100% 295ms 89760KB
48 AC 100% 298ms 88480KB
49 AC 100% 166ms 57584KB
50 AC 100% 240ms 60912KB
51 AC 100% 65ms 28144KB
52 AC 100% 153ms 44768KB
53 AC 100% 82ms 27552KB
54 AC 100% 228ms 80928KB
55 AC 100% 41ms 23440KB
56 AC 100% 127ms 40128KB
57 AC 100% 62ms 26928KB
58 AC 100% 88ms 35584KB
59 AC 100% 51ms 21792KB
60 AC 100% 60ms 27520KB
61 AC 100% 94ms 36960KB
62 AC 100% 257ms 82000KB
63 AC 100% 180ms 47840KB
64 AC 100% 261ms 62448KB
65 AC 100% 242ms 62144KB
66 AC 100% 6ms 15808KB
67 AC 100% 105ms 35872KB
68 AC 100% 142ms 37888KB
69 AC 100% 382ms 73232KB
70 AC 100% 182ms 58288KB

ソースコード

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll> P;

#define fi first
#define se second
#define repl(i,a,b) for(ll i=(ll)(a);i<(ll)(b);i++)
#define rep(i,n) repl(i,0,n)
#define all(x) (x).begin(),(x).end()
#define dbg(x) cout<<#x"="<<x<<endl
#define mmax(x,y) (x>y?x:y)
#define mmin(x,y) (x<y?x:y)
#define maxch(x,y) x=mmax(x,y)
#define minch(x,y) x=mmin(x,y)
#define uni(x) x.erase(unique(all(x)),x.end())
#define exist(x,y) (find(all(x),y)!=x.end())
#define bcnt __builtin_popcount

#define INF 1e16
#define mod 1000000007

ll n,m,k;
vector<P> g[100010];
ll dist[100010];

int main(){
  cin>>n>>m>>k;
  rep(i,m){
    ll a,b,c;
    cin>>a>>b>>c;
    a--;b--;
    g[a].push_back(P(b,c));
    g[b].push_back(P(a,c));
  }
  priority_queue<P,vector<P>,greater<P> > que;
  rep(i,k){
    ll h,d;
    cin>>h>>d;
    h--;
    que.push(P(-d,h));
  }
  rep(i,n)dist[i]=INF;
  while(que.size()){
    P p=que.top(); que.pop();
    if(dist[p.se]!=INF)continue;
    dist[p.se]=p.fi;
    for(P e : g[p.se]){
      que.push(P(p.fi+e.se,e.fi));
    }
  }
  ll res=0;
  rep(i,n)if(dist[i]<=0)res++;
  cout<<res<<endl;
  return 0;
}