結果

提出番号 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;
}