| 提出番号 | 1868 |
|---|---|
| 提出者 | ats5515 |
| 言語 | C++ |
| 提出日時 | 2018-08-04 14:16:44 |
| 問題名 | (73)観光計画 |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 58ms | 35600KB |
| 2 | AC | 100% | 72ms | 42880KB |
| 3 | AC | 100% | 32ms | 31088KB |
| 4 | AC | 100% | 74ms | 48800KB |
| 5 | AC | 100% | 45ms | 27536KB |
| 6 | AC | 100% | 62ms | 42272KB |
| 7 | AC | 100% | 99ms | 60096KB |
| 8 | AC | 100% | 99ms | 64368KB |
| 9 | AC | 100% | 36ms | 24480KB |
| 10 | AC | 100% | 129ms | 68256KB |
| 11 | AC | 100% | 54ms | 33872KB |
| 12 | AC | 100% | 19ms | 26128KB |
| 13 | AC | 100% | 48ms | 45856KB |
| 14 | AC | 100% | 96ms | 56992KB |
| 15 | AC | 100% | 81ms | 53248KB |
| 16 | AC | 100% | 58ms | 40400KB |
| 17 | AC | 100% | 113ms | 65056KB |
| 18 | AC | 100% | 70ms | 43296KB |
| 19 | AC | 100% | 15ms | 25696KB |
| 20 | AC | 100% | 53ms | 45408KB |
| 21 | AC | 100% | 25ms | 20160KB |
| 22 | AC | 100% | 40ms | 34928KB |
| 23 | AC | 100% | 47ms | 37280KB |
| 24 | AC | 100% | 135ms | 77904KB |
| 25 | AC | 100% | 99ms | 60400KB |
| 26 | AC | 100% | 95ms | 61232KB |
| 27 | AC | 100% | 24ms | 26000KB |
| 28 | AC | 100% | 25ms | 19968KB |
| 29 | AC | 100% | 55ms | 37776KB |
| 30 | AC | 100% | 43ms | 46336KB |
| 31 | AC | 100% | 122ms | 67104KB |
| 32 | AC | 100% | 66ms | 38096KB |
| 33 | AC | 100% | 16ms | 16816KB |
| 34 | AC | 100% | 98ms | 52384KB |
| 35 | AC | 100% | 15ms | 16176KB |
| 36 | AC | 100% | 81ms | 59216KB |
| 37 | AC | 100% | 48ms | 31216KB |
| 38 | AC | 100% | 11ms | 10880KB |
| 39 | AC | 100% | 115ms | 77328KB |
| 40 | AC | 100% | 17ms | 24848KB |
| 41 | AC | 100% | 110ms | 57088KB |
| 42 | AC | 100% | 31ms | 25120KB |
| 43 | AC | 100% | 124ms | 64752KB |
| 44 | AC | 100% | 59ms | 42880KB |
| 45 | AC | 100% | 70ms | 50880KB |
| 46 | AC | 100% | 81ms | 45360KB |
| 47 | AC | 100% | 110ms | 60592KB |
| 48 | AC | 100% | 98ms | 58496KB |
| 49 | AC | 100% | 52ms | 36384KB |
| 50 | AC | 100% | 111ms | 62096KB |
| 51 | AC | 100% | 25ms | 18944KB |
| 52 | AC | 100% | 59ms | 36352KB |
| 53 | AC | 100% | 34ms | 26496KB |
| 54 | AC | 100% | 78ms | 41664KB |
| 55 | AC | 100% | 22ms | 25168KB |
| 56 | AC | 100% | 62ms | 53216KB |
| 57 | AC | 100% | 33ms | 44128KB |
| 58 | AC | 100% | 46ms | 34544KB |
| 59 | AC | 100% | 28ms | 27648KB |
| 60 | AC | 100% | 25ms | 28592KB |
| 61 | AC | 100% | 46ms | 33856KB |
| 62 | AC | 100% | 74ms | 48688KB |
| 63 | AC | 100% | 70ms | 61664KB |
| 64 | AC | 100% | 85ms | 55888KB |
| 65 | AC | 100% | 82ms | 51472KB |
| 66 | AC | 100% | 4ms | 12752KB |
| 67 | AC | 100% | 59ms | 45824KB |
| 68 | AC | 100% | 65ms | 54736KB |
| 69 | AC | 100% | 165ms | 83248KB |
| 70 | AC | 100% | 81ms | 43808KB |
#include <iostream>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <string>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <stdio.h>
using namespace std;
#define int long long
int MOD = 1000000007;
vector<vector<int> >g;
vector<vector<int> >c;
signed main() {
cin.tie(0);
ios::sync_with_stdio(false);
int N, M, K;;
cin >> N >> M >> K;
g.resize(N);
c.resize(N);
int a, b, co;
for (int i = 0; i < M; i++) {
cin >> a >> b >> co;
a--;
b--;
g[a].push_back(b);
c[a].push_back(co);
g[b].push_back(a);
c[b].push_back(co);
}
vector<int> X(N, -1);
vector<int> iq(N, 0);
int h, d;
priority_queue<pair<int, int> > pq;
for (int i = 0; i < K; i++) {
cin >> h >> d;
h--;
pq.emplace(d, h);
X[h] = d;
iq[h] = 1;
}
while (!pq.empty()) {
a = pq.top().second; pq.pop();
co = X[a];
iq[a] = 0;
for (int i = 0; i < g[a].size(); i++) {
if (X[g[a][i]] < co - c[a][i]) {
X[g[a][i]] = co - c[a][i];
if (iq[g[a][i]] == 0) {
pq.emplace(co - c[a][i], g[a][i]);
iq[g[a][i]] = 1;
}
}
}
}
int res = 0;
for (int i = 0; i < N; i++) {
if (X[i] >= 0)res++;
}
cout << res << endl;
}