| 提出番号 | 1717 |
|---|---|
| 提出者 | nxteru |
| 言語 | C++ |
| 提出日時 | 2018-08-04 13:36:48 |
| 問題名 | (73)観光計画 |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 126ms | 38272KB |
| 2 | AC | 100% | 138ms | 42944KB |
| 3 | AC | 100% | 61ms | 26464KB |
| 4 | AC | 100% | 201ms | 53312KB |
| 5 | AC | 100% | 90ms | 36496KB |
| 6 | AC | 100% | 165ms | 49472KB |
| 7 | AC | 100% | 174ms | 46304KB |
| 8 | AC | 100% | 183ms | 45056KB |
| 9 | AC | 100% | 101ms | 33984KB |
| 10 | AC | 100% | 222ms | 55248KB |
| 11 | AC | 100% | 91ms | 36048KB |
| 12 | AC | 100% | 35ms | 21600KB |
| 13 | AC | 100% | 72ms | 31232KB |
| 14 | AC | 100% | 216ms | 55360KB |
| 15 | AC | 100% | 143ms | 39104KB |
| 16 | AC | 100% | 152ms | 48000KB |
| 17 | AC | 100% | 192ms | 47184KB |
| 18 | AC | 100% | 143ms | 40528KB |
| 19 | AC | 100% | 35ms | 20672KB |
| 20 | AC | 100% | 102ms | 31552KB |
| 21 | AC | 100% | 52ms | 30192KB |
| 22 | AC | 100% | 88ms | 32496KB |
| 23 | AC | 100% | 91ms | 32944KB |
| 24 | AC | 100% | 259ms | 60016KB |
| 25 | AC | 100% | 187ms | 47744KB |
| 26 | AC | 100% | 211ms | 54304KB |
| 27 | AC | 100% | 46ms | 24416KB |
| 28 | AC | 100% | 50ms | 25472KB |
| 29 | AC | 100% | 115ms | 42704KB |
| 30 | AC | 100% | 82ms | 30160KB |
| 31 | AC | 100% | 254ms | 59264KB |
| 32 | AC | 100% | 142ms | 44864KB |
| 33 | AC | 100% | 30ms | 19664KB |
| 34 | AC | 100% | 193ms | 54400KB |
| 35 | AC | 100% | 31ms | 20176KB |
| 36 | AC | 100% | 157ms | 46496KB |
| 37 | AC | 100% | 76ms | 31856KB |
| 38 | AC | 100% | 21ms | 19216KB |
| 39 | AC | 100% | 253ms | 59600KB |
| 40 | AC | 100% | 30ms | 21328KB |
| 41 | AC | 100% | 235ms | 57376KB |
| 42 | AC | 100% | 60ms | 25744KB |
| 43 | AC | 100% | 265ms | 62400KB |
| 44 | AC | 100% | 131ms | 41456KB |
| 45 | AC | 100% | 159ms | 40608KB |
| 46 | AC | 100% | 171ms | 47568KB |
| 47 | AC | 100% | 226ms | 60432KB |
| 48 | AC | 100% | 204ms | 59136KB |
| 49 | AC | 100% | 131ms | 43440KB |
| 50 | AC | 100% | 158ms | 48336KB |
| 51 | AC | 100% | 50ms | 25296KB |
| 52 | AC | 100% | 115ms | 39008KB |
| 53 | AC | 100% | 68ms | 25984KB |
| 54 | AC | 100% | 159ms | 50016KB |
| 55 | AC | 100% | 44ms | 22640KB |
| 56 | AC | 100% | 114ms | 37520KB |
| 57 | AC | 100% | 67ms | 27808KB |
| 58 | AC | 100% | 89ms | 30704KB |
| 59 | AC | 100% | 52ms | 21648KB |
| 60 | AC | 100% | 50ms | 26208KB |
| 61 | AC | 100% | 91ms | 31200KB |
| 62 | AC | 100% | 170ms | 52672KB |
| 63 | AC | 100% | 159ms | 43648KB |
| 64 | AC | 100% | 213ms | 49872KB |
| 65 | AC | 100% | 190ms | 49568KB |
| 66 | AC | 100% | 5ms | 15808KB |
| 67 | AC | 100% | 99ms | 31136KB |
| 68 | AC | 100% | 106ms | 36192KB |
| 69 | AC | 100% | 294ms | 64656KB |
| 70 | AC | 100% | 144ms | 44160KB |
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <cstdio>
#include <cstring>
#include <math.h>
using namespace std;
typedef long long ll;
typedef double D;
typedef pair<ll,ll> P;
#define M 1000000007
#define F first
#define S second
#define PB push_back
int n,m,k;
vector<P>g[100005];
ll d[100005];
int main(void){
cin>>n>>m>>k;
for(int i=0;i<n;i++)d[i]=-1;
priority_queue<P>dik;
for(int i=0;i<m;i++){
ll a,b,c;
cin>>a>>b>>c;
g[--a].PB(P(--b,c));
g[b].PB(P(a,c));
}
for(int i=0;i<k;i++){
ll a,b;
cin>>a>>b;
d[--a]=b;
dik.push(P(b,a));
}
while(!dik.empty()){
ll v=dik.top().S,c=dik.top().F;
dik.pop();
if(d[v]>c)continue;
for(int i=0;i<g[v].size();i++){
ll u=g[v][i].F,l=g[v][i].S;
if(d[u]<c-l){
d[u]=c-l;
dik.push(P(c-l,u));
}
}
}
int ans=0;
for(int i=0;i<n;i++)if(d[i]>=0)ans++;
cout<<ans<<endl;
}