結果

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