Submission #2978431
Source Code Expand
#include <cstdint> #include <cstdio> #include <set> #include <vector> #include <queue> const int N = 1e5 + 10; const int64_t INF = ~0ull >> 3; int n, m, s, t; std::vector<std::pair<int, int64_t>> e[N]; int id1[N]; int64_t d1[N], d2[N]; std::queue<std::pair<int, int>> q1; bool in[N]; void spfa1() { in[t] = true; for (int i = 1; i <= n; i++) d1[i] = d2[i] = INF; d1[t] = d2[t] = 0; q1.emplace(t, -1); while (!q1.empty()) { static int u, from; u = q1.front().first; from = q1.front().second; in[u] = false; q1.pop(); for (auto p : e[u]) { int64_t res = (id1[u] == p.first ? d2[u] : d1[u]) + p.second; if (res < d1[p.first]) { if (id1[p.first] != u) { d2[p.first] = d1[p.first]; //printf("update2 %d %lld\n", p.first, d1[p.first]); } //printf("update1 %d %d %lld\n", p.first, u, d1[u] + p.second); id1[p.first] = u; d1[p.first] = res; if (!in[p.first]) { in[p.first] = true; q1.emplace(p.first, u); } } else if (id1[p.first] != u && res < d2[p.first]) { d2[p.first] = res; if (!in[p.first]) { in[p.first] = true; q1.emplace(p.first, u); } //printf("update %d %d %d %d\n", p.first, u, d1[u], p.second); } } } } int64_t v[N]; std::queue<int> q; void spfa2() { in[t] = true; for (int i = 1; i <= n; i++) v[i] = INF; v[t] = 0; q.push(t); while (!q.empty()) { static int u; u = q.front(); in[u] = false; q.pop(); for (auto p : e[u]) { int64_t res = std::max(u == id1[p.first] ? d2[p.first] : d1[p.first], v[u] + p.second); if (res < v[p.first]) { v[p.first] = res; if (!in[p.first]) { in[p.first] = true; q.push(p.first); } } } } } int main() { scanf("%d%d%d%d", &n, &m, &s, &t); for (int i = 1; i <= m; i++) { static int u, v, w; scanf("%d%d%d", &u, &v, &w); e[u].emplace_back(v, w); e[v].emplace_back(u, w); } spfa1(); spfa2(); // for (int i = 1; i <= n; i++) // printf("%lld %lld %lld\n", id1[i], d1[i], d2[i]); if (v[s] == INF) puts("-1"); else printf("%lld\n", v[s]); return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Revenge of the Broken Door |
User | smallling |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2729 Byte |
Status | WA |
Exec Time | 258 ms |
Memory | 16384 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:105:30: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘int64_t {aka long int}’ [-Wformat=] printf("%lld\n", v[s]); ^ ./Main.cpp:88:38: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d%d", &n, &m, &s, &t); ^ ./Main.cpp:91:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d", &u, &v, &w); ^
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 100 | ||||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample_00, 00_sample_01, 00_sample_02, 10_small_0, 10_small_1, 10_small_2, 10_small_3, 10_small_4, 10_small_5, 10_small_6, 10_small_7, 10_small_8, 10_small_9, 20_med_0, 20_med_1, 20_med_2, 20_med_3, 20_med_4, 20_med_5, 20_med_6, 21_med_0, 21_med_1, 21_med_2, 30_large_0, 30_large_1, 30_large_2, 30_large_3, 30_large_4, 30_large_5, 30_large_6, 31_large_0, 31_large_1, 31_large_2, 40_circle_0, 40_circle_1, 40_circle_2, 40_circle_3, 40_circle_4, 41_impossible_0, 41_impossible_1, 41_impossible_2, 42_special_0, 42_special_1, 42_special_10, 42_special_11, 42_special_12, 42_special_13, 42_special_14, 42_special_2, 42_special_3, 42_special_4, 42_special_5, 42_special_6, 42_special_7, 42_special_8, 42_special_9, 43_special_0, 43_special_1, 43_special_2, 43_special_3, 43_special_4, 43_special_5, 43_special_6, 43_special_7, 43_special_8, 43_special_9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00 | AC | 6 ms | 3708 KB |
00_sample_01 | AC | 2 ms | 3456 KB |
00_sample_02 | AC | 2 ms | 3456 KB |
10_small_0 | AC | 2 ms | 3456 KB |
10_small_1 | AC | 2 ms | 3456 KB |
10_small_2 | AC | 2 ms | 3456 KB |
10_small_3 | AC | 2 ms | 3456 KB |
10_small_4 | AC | 2 ms | 3456 KB |
10_small_5 | AC | 2 ms | 3456 KB |
10_small_6 | AC | 2 ms | 3456 KB |
10_small_7 | AC | 2 ms | 3456 KB |
10_small_8 | AC | 2 ms | 3456 KB |
10_small_9 | AC | 2 ms | 3456 KB |
20_med_0 | WA | 45 ms | 9728 KB |
20_med_1 | AC | 3 ms | 3584 KB |
20_med_2 | AC | 22 ms | 6016 KB |
20_med_3 | AC | 47 ms | 8192 KB |
20_med_4 | AC | 47 ms | 9856 KB |
20_med_5 | AC | 65 ms | 10240 KB |
20_med_6 | AC | 35 ms | 7040 KB |
21_med_0 | AC | 21 ms | 6528 KB |
21_med_1 | AC | 66 ms | 10240 KB |
21_med_2 | AC | 47 ms | 10624 KB |
30_large_0 | AC | 64 ms | 10240 KB |
30_large_1 | AC | 17 ms | 5120 KB |
30_large_2 | WA | 32 ms | 7168 KB |
30_large_3 | AC | 53 ms | 10368 KB |
30_large_4 | AC | 36 ms | 7040 KB |
30_large_5 | AC | 64 ms | 9728 KB |
30_large_6 | WA | 58 ms | 10496 KB |
31_large_0 | AC | 46 ms | 8192 KB |
31_large_1 | AC | 53 ms | 10624 KB |
31_large_2 | WA | 50 ms | 10112 KB |
40_circle_0 | AC | 43 ms | 10112 KB |
40_circle_1 | AC | 43 ms | 10112 KB |
40_circle_2 | AC | 43 ms | 10112 KB |
40_circle_3 | AC | 43 ms | 10112 KB |
40_circle_4 | AC | 43 ms | 10112 KB |
41_impossible_0 | WA | 157 ms | 16384 KB |
41_impossible_1 | WA | 163 ms | 16384 KB |
41_impossible_2 | WA | 153 ms | 16384 KB |
42_special_0 | AC | 43 ms | 10112 KB |
42_special_1 | AC | 43 ms | 10112 KB |
42_special_10 | AC | 47 ms | 10240 KB |
42_special_11 | AC | 46 ms | 10368 KB |
42_special_12 | AC | 47 ms | 10624 KB |
42_special_13 | AC | 50 ms | 10872 KB |
42_special_14 | AC | 56 ms | 11632 KB |
42_special_2 | AC | 44 ms | 10112 KB |
42_special_3 | AC | 44 ms | 10112 KB |
42_special_4 | AC | 44 ms | 10112 KB |
42_special_5 | AC | 44 ms | 10112 KB |
42_special_6 | AC | 43 ms | 10112 KB |
42_special_7 | AC | 44 ms | 10112 KB |
42_special_8 | AC | 43 ms | 10112 KB |
42_special_9 | AC | 45 ms | 10112 KB |
43_special_0 | WA | 231 ms | 10880 KB |
43_special_1 | WA | 244 ms | 10880 KB |
43_special_2 | WA | 229 ms | 10880 KB |
43_special_3 | WA | 230 ms | 10880 KB |
43_special_4 | AC | 256 ms | 10880 KB |
43_special_5 | AC | 241 ms | 10880 KB |
43_special_6 | WA | 228 ms | 10880 KB |
43_special_7 | WA | 240 ms | 10880 KB |
43_special_8 | WA | 235 ms | 10880 KB |
43_special_9 | WA | 258 ms | 11008 KB |