# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
575514 | 2022-06-10T20:09:07 Z | Elias | Shortcut (IOI16_shortcut) | C++17 | 2000 ms | 300 KB |
#include <bits/stdc++.h> #ifndef _DEBUG #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx") #include "shortcut.h" #endif using namespace std; #define int long long vector<vector<pair<int, int>>> adj; vector<int> dijkstra(int s) { vector<int> dist(adj.size(), -1); priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq; pq.push({0, s}); while (!pq.empty()) { auto [d, i] = pq.top(); pq.pop(); if (dist[i] != -1) continue; dist[i] = d; for (auto [c, p] : adj[i]) { if (dist[c] == -1) pq.push({d + p, c}); } } return dist; } long long dia() { int longest = 0; for (int i = 0; i < adj.size(); i++) { vector<int> dists; dists = dijkstra(i); longest = max(longest, *max_element(dists.begin(), dists.end())); } return longest; } long long find_shortcut(signed n, vector<signed> l, vector<signed> d, signed c) { adj = vector<vector<pair<int, int>>>(2 * n); for (int i = 0; i < n - 1; i++) { adj[i].push_back({i + 1, l[i]}); adj[i + 1].push_back({i, l[i]}); } for (int i = 0; i < n; i++) { adj[i].push_back({i + n, d[i]}); adj[i + n].push_back({i, d[i]}); } long long best = dia(); for (int i = 0; i < n; i++) for (int j = i + 1; j < n; j++) { adj[i].push_back({j, c}); adj[j].push_back({i, c}); best = min(best, dia()); adj[i].pop_back(); adj[j].pop_back(); } return best; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | n = 4, 80 is a correct answer |
2 | Correct | 2 ms | 212 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 212 KB | n = 4, 21 is a correct answer |
4 | Correct | 0 ms | 212 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 212 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
7 | Correct | 1 ms | 212 KB | n = 3, 29 is a correct answer |
8 | Correct | 1 ms | 212 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 212 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 212 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 1 ms | 296 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 212 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 1 ms | 212 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 212 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 212 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 212 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 1 ms | 212 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 212 KB | n = 5, 25 is a correct answer |
22 | Correct | 1 ms | 212 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 212 KB | n = 10, 117 is a correct answer |
24 | Correct | 2 ms | 212 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 296 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 212 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 212 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 212 KB | n = 4, 2399 is a correct answer |
29 | Correct | 2 ms | 296 KB | n = 10, 10992 is a correct answer |
30 | Correct | 2 ms | 300 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2074 ms | 212 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | n = 4, 80 is a correct answer |
2 | Correct | 2 ms | 212 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 212 KB | n = 4, 21 is a correct answer |
4 | Correct | 0 ms | 212 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 212 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
7 | Correct | 1 ms | 212 KB | n = 3, 29 is a correct answer |
8 | Correct | 1 ms | 212 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 212 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 212 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 1 ms | 296 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 212 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 1 ms | 212 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 212 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 212 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 212 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 1 ms | 212 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 212 KB | n = 5, 25 is a correct answer |
22 | Correct | 1 ms | 212 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 212 KB | n = 10, 117 is a correct answer |
24 | Correct | 2 ms | 212 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 296 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 212 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 212 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 212 KB | n = 4, 2399 is a correct answer |
29 | Correct | 2 ms | 296 KB | n = 10, 10992 is a correct answer |
30 | Correct | 2 ms | 300 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2074 ms | 212 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | n = 4, 80 is a correct answer |
2 | Correct | 2 ms | 212 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 212 KB | n = 4, 21 is a correct answer |
4 | Correct | 0 ms | 212 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 212 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
7 | Correct | 1 ms | 212 KB | n = 3, 29 is a correct answer |
8 | Correct | 1 ms | 212 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 212 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 212 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 1 ms | 296 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 212 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 1 ms | 212 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 212 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 212 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 212 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 1 ms | 212 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 212 KB | n = 5, 25 is a correct answer |
22 | Correct | 1 ms | 212 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 212 KB | n = 10, 117 is a correct answer |
24 | Correct | 2 ms | 212 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 296 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 212 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 212 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 212 KB | n = 4, 2399 is a correct answer |
29 | Correct | 2 ms | 296 KB | n = 10, 10992 is a correct answer |
30 | Correct | 2 ms | 300 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2074 ms | 212 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | n = 4, 80 is a correct answer |
2 | Correct | 2 ms | 212 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 212 KB | n = 4, 21 is a correct answer |
4 | Correct | 0 ms | 212 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 212 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
7 | Correct | 1 ms | 212 KB | n = 3, 29 is a correct answer |
8 | Correct | 1 ms | 212 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 212 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 212 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 1 ms | 296 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 212 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 1 ms | 212 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 212 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 212 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 212 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 1 ms | 212 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 212 KB | n = 5, 25 is a correct answer |
22 | Correct | 1 ms | 212 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 212 KB | n = 10, 117 is a correct answer |
24 | Correct | 2 ms | 212 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 296 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 212 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 212 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 212 KB | n = 4, 2399 is a correct answer |
29 | Correct | 2 ms | 296 KB | n = 10, 10992 is a correct answer |
30 | Correct | 2 ms | 300 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2074 ms | 212 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | n = 4, 80 is a correct answer |
2 | Correct | 2 ms | 212 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 212 KB | n = 4, 21 is a correct answer |
4 | Correct | 0 ms | 212 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 212 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
7 | Correct | 1 ms | 212 KB | n = 3, 29 is a correct answer |
8 | Correct | 1 ms | 212 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 212 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 212 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 1 ms | 296 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 212 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 1 ms | 212 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 212 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 212 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 212 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 1 ms | 212 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 212 KB | n = 5, 25 is a correct answer |
22 | Correct | 1 ms | 212 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 212 KB | n = 10, 117 is a correct answer |
24 | Correct | 2 ms | 212 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 296 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 212 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 212 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 212 KB | n = 4, 2399 is a correct answer |
29 | Correct | 2 ms | 296 KB | n = 10, 10992 is a correct answer |
30 | Correct | 2 ms | 300 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2074 ms | 212 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | n = 4, 80 is a correct answer |
2 | Correct | 2 ms | 212 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 212 KB | n = 4, 21 is a correct answer |
4 | Correct | 0 ms | 212 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 212 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
7 | Correct | 1 ms | 212 KB | n = 3, 29 is a correct answer |
8 | Correct | 1 ms | 212 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 212 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 212 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 1 ms | 296 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 212 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 1 ms | 212 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 212 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 212 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 212 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 1 ms | 212 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 212 KB | n = 5, 25 is a correct answer |
22 | Correct | 1 ms | 212 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 212 KB | n = 10, 117 is a correct answer |
24 | Correct | 2 ms | 212 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 296 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 212 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 212 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 212 KB | n = 4, 2399 is a correct answer |
29 | Correct | 2 ms | 296 KB | n = 10, 10992 is a correct answer |
30 | Correct | 2 ms | 300 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2074 ms | 212 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | n = 4, 80 is a correct answer |
2 | Correct | 2 ms | 212 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 212 KB | n = 4, 21 is a correct answer |
4 | Correct | 0 ms | 212 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 212 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
7 | Correct | 1 ms | 212 KB | n = 3, 29 is a correct answer |
8 | Correct | 1 ms | 212 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 212 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 212 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 1 ms | 296 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 212 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 1 ms | 212 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 212 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 212 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 212 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 1 ms | 212 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 212 KB | n = 5, 25 is a correct answer |
22 | Correct | 1 ms | 212 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 212 KB | n = 10, 117 is a correct answer |
24 | Correct | 2 ms | 212 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 296 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 212 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 212 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 212 KB | n = 4, 2399 is a correct answer |
29 | Correct | 2 ms | 296 KB | n = 10, 10992 is a correct answer |
30 | Correct | 2 ms | 300 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2074 ms | 212 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | n = 4, 80 is a correct answer |
2 | Correct | 2 ms | 212 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 212 KB | n = 4, 21 is a correct answer |
4 | Correct | 0 ms | 212 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 212 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
7 | Correct | 1 ms | 212 KB | n = 3, 29 is a correct answer |
8 | Correct | 1 ms | 212 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 212 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 212 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 212 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 1 ms | 212 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 1 ms | 296 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 212 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 1 ms | 212 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 212 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 212 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 212 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 1 ms | 212 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 212 KB | n = 5, 25 is a correct answer |
22 | Correct | 1 ms | 212 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 212 KB | n = 10, 117 is a correct answer |
24 | Correct | 2 ms | 212 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 296 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 212 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 212 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 212 KB | n = 4, 2399 is a correct answer |
29 | Correct | 2 ms | 296 KB | n = 10, 10992 is a correct answer |
30 | Correct | 2 ms | 300 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2074 ms | 212 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |