| 提出番号 | 1428 |
|---|---|
| 提出者 | olphe |
| 言語 | C++ |
| 提出日時 | 2018-08-02 23:11:33 |
| 問題名 | (73)観光計画 |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 64ms | 36320KB |
| 2 | AC | 100% | 83ms | 42448KB |
| 3 | AC | 100% | 40ms | 24272KB |
| 4 | AC | 100% | 93ms | 51408KB |
| 5 | AC | 100% | 45ms | 28544KB |
| 6 | AC | 100% | 77ms | 44496KB |
| 7 | AC | 100% | 94ms | 55632KB |
| 8 | AC | 100% | 97ms | 56672KB |
| 9 | AC | 100% | 29ms | 24656KB |
| 10 | AC | 100% | 140ms | 66480KB |
| 11 | AC | 100% | 56ms | 32576KB |
| 12 | AC | 100% | 17ms | 17648KB |
| 13 | AC | 100% | 52ms | 33984KB |
| 14 | AC | 100% | 115ms | 59472KB |
| 15 | AC | 100% | 80ms | 52768KB |
| 16 | AC | 100% | 63ms | 42784KB |
| 17 | AC | 100% | 125ms | 63744KB |
| 18 | AC | 100% | 70ms | 43280KB |
| 19 | AC | 100% | 23ms | 24688KB |
| 20 | AC | 100% | 61ms | 37296KB |
| 21 | AC | 100% | 19ms | 20144KB |
| 22 | AC | 100% | 54ms | 31200KB |
| 23 | AC | 100% | 56ms | 32608KB |
| 24 | AC | 100% | 143ms | 74432KB |
| 25 | AC | 100% | 120ms | 58896KB |
| 26 | AC | 100% | 115ms | 62336KB |
| 27 | AC | 100% | 31ms | 20640KB |
| 28 | AC | 100% | 31ms | 19088KB |
| 29 | AC | 100% | 63ms | 38720KB |
| 30 | AC | 100% | 63ms | 41280KB |
| 31 | AC | 100% | 158ms | 70416KB |
| 32 | AC | 100% | 67ms | 39792KB |
| 33 | AC | 100% | 17ms | 14896KB |
| 34 | AC | 100% | 104ms | 54672KB |
| 35 | AC | 100% | 18ms | 13488KB |
| 36 | AC | 100% | 109ms | 52880KB |
| 37 | AC | 100% | 50ms | 29696KB |
| 38 | AC | 100% | 10ms | 10640KB |
| 39 | AC | 100% | 144ms | 70880KB |
| 40 | AC | 100% | 16ms | 15920KB |
| 41 | AC | 100% | 117ms | 60112KB |
| 42 | AC | 100% | 38ms | 23056KB |
| 43 | AC | 100% | 150ms | 70432KB |
| 44 | AC | 100% | 82ms | 40912KB |
| 45 | AC | 100% | 98ms | 50240KB |
| 46 | AC | 100% | 81ms | 46608KB |
| 47 | AC | 100% | 125ms | 61472KB |
| 48 | AC | 100% | 122ms | 62864KB |
| 49 | AC | 100% | 63ms | 37040KB |
| 50 | AC | 100% | 120ms | 56624KB |
| 51 | AC | 100% | 25ms | 18032KB |
| 52 | AC | 100% | 73ms | 35984KB |
| 53 | AC | 100% | 39ms | 26704KB |
| 54 | AC | 100% | 62ms | 43216KB |
| 55 | AC | 100% | 24ms | 19056KB |
| 56 | AC | 100% | 80ms | 42080KB |
| 57 | AC | 100% | 42ms | 34960KB |
| 58 | AC | 100% | 52ms | 32656KB |
| 59 | AC | 100% | 33ms | 29952KB |
| 60 | AC | 100% | 34ms | 22624KB |
| 61 | AC | 100% | 55ms | 31280KB |
| 62 | AC | 100% | 84ms | 52448KB |
| 63 | AC | 100% | 100ms | 51152KB |
| 64 | AC | 100% | 125ms | 58736KB |
| 65 | AC | 100% | 110ms | 53696KB |
| 66 | AC | 100% | 3ms | 9584KB |
| 67 | AC | 100% | 66ms | 46064KB |
| 68 | AC | 100% | 87ms | 40832KB |
| 69 | AC | 100% | 183ms | 82400KB |
| 70 | AC | 100% | 83ms | 42992KB |
#include "iostream"
#include "climits"
#include "list"
#include "queue"
#include "stack"
#include "set"
#include "functional"
#include "algorithm"
#include "string"
#include "map"
#include "unordered_map"
#include "unordered_set"
#include "iomanip"
#include "cmath"
#include "random"
#include "bitset"
#include "cstdio"
using namespace std;
const long long int MOD = 1000000007;
const long double EPS = 1e-8;
long long int N, M, K, H, W, L, R;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> N >> M >> K;
vector<vector<pair<int, long long int>>>edge(N + 1);
for (int i = 0; i < M; i++) {
cin >> L >> R >> H;
edge[L].push_back({ R,H });
edge[R].push_back({ L,H });
}
for (int i = 0; i < K; i++) {
cin >> L >> R;
edge[0].push_back({ L,MOD - R });
}
vector<long long int>dis(N + 1, MOD*MOD);
dis[0] = 0;
set<pair<long long int, int>>s;
s.insert({ 0,0 });
while (!s.empty()) {
auto c = *s.begin();
s.erase(s.begin());
int cn = c.second;
long long int cc = c.first;
for (auto i : edge[cn]) {
if (dis[i.first] > cc + i.second) {
dis[i.first] = cc + i.second;
s.insert({ dis[i.first],i.first });
}
}
}
int ans = 0;
for (auto i : dis) {
//cout << i << endl;
if (i <= MOD) {
ans++;
}
}
cout << ans - 1 << endl;
return 0;
}