| 提出番号 | 1787 |
|---|---|
| 提出者 | ecasdqina |
| 言語 | C++ |
| 提出日時 | 2018-08-04 13:52:59 |
| 問題名 | (73)観光計画 |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 116ms | 22240KB |
| 2 | AC | 100% | 137ms | 27392KB |
| 3 | AC | 100% | 63ms | 19088KB |
| 4 | AC | 100% | 182ms | 30832KB |
| 5 | AC | 100% | 96ms | 18832KB |
| 6 | AC | 100% | 134ms | 27712KB |
| 7 | AC | 100% | 154ms | 35632KB |
| 8 | AC | 100% | 194ms | 37808KB |
| 9 | AC | 100% | 89ms | 15408KB |
| 10 | AC | 100% | 231ms | 42672KB |
| 11 | AC | 100% | 101ms | 21472KB |
| 12 | AC | 100% | 30ms | 15920KB |
| 13 | AC | 100% | 86ms | 26944KB |
| 14 | AC | 100% | 203ms | 34928KB |
| 15 | AC | 100% | 155ms | 32768KB |
| 16 | AC | 100% | 146ms | 25440KB |
| 17 | AC | 100% | 182ms | 41392KB |
| 18 | AC | 100% | 142ms | 27136KB |
| 19 | AC | 100% | 34ms | 18192KB |
| 20 | AC | 100% | 95ms | 28688KB |
| 21 | AC | 100% | 56ms | 13296KB |
| 22 | AC | 100% | 80ms | 21808KB |
| 23 | AC | 100% | 100ms | 23136KB |
| 24 | AC | 100% | 253ms | 48816KB |
| 25 | AC | 100% | 181ms | 38736KB |
| 26 | AC | 100% | 207ms | 36496KB |
| 27 | AC | 100% | 45ms | 16560KB |
| 28 | AC | 100% | 86ms | 13520KB |
| 29 | AC | 100% | 132ms | 25136KB |
| 30 | AC | 100% | 81ms | 28976KB |
| 31 | AC | 100% | 204ms | 44224KB |
| 32 | AC | 100% | 135ms | 24176KB |
| 33 | AC | 100% | 29ms | 11648KB |
| 34 | AC | 100% | 174ms | 32768KB |
| 35 | AC | 100% | 29ms | 10784KB |
| 36 | AC | 100% | 167ms | 36224KB |
| 37 | AC | 100% | 85ms | 19616KB |
| 38 | AC | 100% | 20ms | 8528KB |
| 39 | AC | 100% | 237ms | 43952KB |
| 40 | AC | 100% | 33ms | 14864KB |
| 41 | AC | 100% | 221ms | 35296KB |
| 42 | AC | 100% | 59ms | 16496KB |
| 43 | AC | 100% | 220ms | 43232KB |
| 44 | AC | 100% | 201ms | 27104KB |
| 45 | AC | 100% | 152ms | 31232KB |
| 46 | AC | 100% | 158ms | 28880KB |
| 47 | AC | 100% | 217ms | 36592KB |
| 48 | AC | 100% | 192ms | 36144KB |
| 49 | AC | 100% | 126ms | 23136KB |
| 50 | AC | 100% | 179ms | 36304KB |
| 51 | AC | 100% | 50ms | 12688KB |
| 52 | AC | 100% | 112ms | 22848KB |
| 53 | AC | 100% | 71ms | 17552KB |
| 54 | AC | 100% | 146ms | 25984KB |
| 55 | AC | 100% | 40ms | 15920KB |
| 56 | AC | 100% | 124ms | 30912KB |
| 57 | AC | 100% | 75ms | 27440KB |
| 58 | AC | 100% | 86ms | 22528KB |
| 59 | AC | 100% | 51ms | 19664KB |
| 60 | AC | 100% | 60ms | 18032KB |
| 61 | AC | 100% | 87ms | 21040KB |
| 62 | AC | 100% | 163ms | 31008KB |
| 63 | AC | 100% | 135ms | 36752KB |
| 64 | AC | 100% | 195ms | 34208KB |
| 65 | AC | 100% | 186ms | 32160KB |
| 66 | AC | 100% | 5ms | 8528KB |
| 67 | AC | 100% | 100ms | 29152KB |
| 68 | AC | 100% | 122ms | 31392KB |
| 69 | AC | 100% | 276ms | 50544KB |
| 70 | AC | 100% | 132ms | 27888KB |
#include <bits/stdc++.h>
typedef long long i64;
using std::cout;
using std::endl;
using std::cin;
std::vector<std::vector<std::pair<int, int>>> g;
int n, m, k;
int solve() {
std::priority_queue<std::pair<i64, int>, std::vector<std::pair<i64, int>>, std::greater<std::pair<i64, int>>> qu;
std::vector<i64> min_cost(n + 1, 1e18);
qu.push({1e9, n});
while(!qu.empty()) {
auto p = qu.top(); qu.pop();
for(auto e : g[p.second]) {
if(e.second + p.first >= min_cost[e.first]) continue;
min_cost[e.first] = e.second + p.first;
qu.push({min_cost[e.first], e.first});
}
}
int c = 0;
for(int i = 0; i < n; i++) if(min_cost[i] <= 1e9) c++;
return c;
}
int main(){
cin >> n >> m >> k; g.resize(n + 1);
for(int i = 0; i < m; i++) {
int a, b, c; cin >> a >> b >> c;
g[a - 1].push_back({b - 1, c});
g[b - 1].push_back({a - 1, c});
}
for(int i = 0; i < k; i++) {
int a, c; cin >> a >> c;
g[n].push_back({a - 1, -c});
}
cout << solve() << endl;
return 0;
}