# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
961797 | 2024-04-12T13:03:04 Z | ErJ | Shortcut (IOI16_shortcut) | C++17 | 2000 ms | 604 KB |
#include <bits/stdc++.h> using namespace std; #define ll long long #define vi vector<ll> #define pp pair<ll, ll> #define inf 1000000000000000 #define vvi vector<vi> #define vp vector<pp> #define vvp vector<vp> #define rep(i, n) for(int i = 0; i < n; i++) #define mod 1000000007 vvp edges; vi dist; void dijkstra(ll u) { dist[u] = 0; priority_queue<pp> pq; pq.push({ 0, u }); while (!pq.empty()) { ll d = -pq.top().first; ll v = pq.top().second; pq.pop(); if (dist[v] < d) { continue; } for (int i = 0; i < edges[v].size(); i++) { ll w = edges[v][i].first; ll dw = edges[v][i].second; if (dist[w] > dw + dist[v]) { pq.push({ -dw - dist[v], w }); dist[w] = dw + dist[v]; } } } } ll diameter() { ll maxdist = -1; rep(i, edges.size()) { dist.clear(); dist.resize(edges.size()); rep(i, dist.size()) { dist[i] = inf; } dijkstra(i); rep(i, dist.size()) { maxdist = max(maxdist, dist[i]); } } return maxdist; } ll find_shortcut(int n, vector<int> l, vector<int> d, int c) { ll ans = inf; for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { edges.clear(); edges.resize(2 * n); rep(k, l.size()) { edges[k].push_back({ k + 1, l[k] }); edges[k + 1].push_back({ k, l[k] }); } rep(k, n) { edges[k].push_back({ k + n, d[k] }); edges[k + n].push_back({ k, d[k] }); } edges[i].push_back({ j, c }); edges[j].push_back({ i, c }); ans = min(ans, diameter()); } } return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 4, 80 is a correct answer |
2 | Correct | 1 ms | 436 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 348 KB | n = 4, 21 is a correct answer |
4 | Correct | 1 ms | 604 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 348 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 436 KB | n = 2, 3 is a correct answer |
7 | Correct | 0 ms | 348 KB | n = 3, 29 is a correct answer |
8 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 348 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 348 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 0 ms | 348 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 428 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 0 ms | 344 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 348 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 348 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 500 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 0 ms | 348 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 348 KB | n = 5, 25 is a correct answer |
22 | Correct | 0 ms | 348 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 348 KB | n = 10, 117 is a correct answer |
24 | Correct | 1 ms | 348 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 348 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 348 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 348 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 348 KB | n = 4, 2399 is a correct answer |
29 | Correct | 1 ms | 344 KB | n = 10, 10992 is a correct answer |
30 | Correct | 1 ms | 432 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2066 ms | 344 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 4, 80 is a correct answer |
2 | Correct | 1 ms | 436 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 348 KB | n = 4, 21 is a correct answer |
4 | Correct | 1 ms | 604 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 348 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 436 KB | n = 2, 3 is a correct answer |
7 | Correct | 0 ms | 348 KB | n = 3, 29 is a correct answer |
8 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 348 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 348 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 0 ms | 348 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 428 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 0 ms | 344 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 348 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 348 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 500 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 0 ms | 348 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 348 KB | n = 5, 25 is a correct answer |
22 | Correct | 0 ms | 348 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 348 KB | n = 10, 117 is a correct answer |
24 | Correct | 1 ms | 348 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 348 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 348 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 348 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 348 KB | n = 4, 2399 is a correct answer |
29 | Correct | 1 ms | 344 KB | n = 10, 10992 is a correct answer |
30 | Correct | 1 ms | 432 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2066 ms | 344 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 4, 80 is a correct answer |
2 | Correct | 1 ms | 436 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 348 KB | n = 4, 21 is a correct answer |
4 | Correct | 1 ms | 604 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 348 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 436 KB | n = 2, 3 is a correct answer |
7 | Correct | 0 ms | 348 KB | n = 3, 29 is a correct answer |
8 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 348 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 348 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 0 ms | 348 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 428 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 0 ms | 344 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 348 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 348 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 500 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 0 ms | 348 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 348 KB | n = 5, 25 is a correct answer |
22 | Correct | 0 ms | 348 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 348 KB | n = 10, 117 is a correct answer |
24 | Correct | 1 ms | 348 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 348 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 348 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 348 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 348 KB | n = 4, 2399 is a correct answer |
29 | Correct | 1 ms | 344 KB | n = 10, 10992 is a correct answer |
30 | Correct | 1 ms | 432 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2066 ms | 344 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 4, 80 is a correct answer |
2 | Correct | 1 ms | 436 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 348 KB | n = 4, 21 is a correct answer |
4 | Correct | 1 ms | 604 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 348 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 436 KB | n = 2, 3 is a correct answer |
7 | Correct | 0 ms | 348 KB | n = 3, 29 is a correct answer |
8 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 348 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 348 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 0 ms | 348 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 428 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 0 ms | 344 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 348 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 348 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 500 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 0 ms | 348 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 348 KB | n = 5, 25 is a correct answer |
22 | Correct | 0 ms | 348 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 348 KB | n = 10, 117 is a correct answer |
24 | Correct | 1 ms | 348 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 348 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 348 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 348 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 348 KB | n = 4, 2399 is a correct answer |
29 | Correct | 1 ms | 344 KB | n = 10, 10992 is a correct answer |
30 | Correct | 1 ms | 432 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2066 ms | 344 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 4, 80 is a correct answer |
2 | Correct | 1 ms | 436 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 348 KB | n = 4, 21 is a correct answer |
4 | Correct | 1 ms | 604 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 348 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 436 KB | n = 2, 3 is a correct answer |
7 | Correct | 0 ms | 348 KB | n = 3, 29 is a correct answer |
8 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 348 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 348 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 0 ms | 348 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 428 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 0 ms | 344 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 348 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 348 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 500 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 0 ms | 348 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 348 KB | n = 5, 25 is a correct answer |
22 | Correct | 0 ms | 348 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 348 KB | n = 10, 117 is a correct answer |
24 | Correct | 1 ms | 348 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 348 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 348 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 348 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 348 KB | n = 4, 2399 is a correct answer |
29 | Correct | 1 ms | 344 KB | n = 10, 10992 is a correct answer |
30 | Correct | 1 ms | 432 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2066 ms | 344 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 4, 80 is a correct answer |
2 | Correct | 1 ms | 436 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 348 KB | n = 4, 21 is a correct answer |
4 | Correct | 1 ms | 604 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 348 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 436 KB | n = 2, 3 is a correct answer |
7 | Correct | 0 ms | 348 KB | n = 3, 29 is a correct answer |
8 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 348 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 348 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 0 ms | 348 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 428 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 0 ms | 344 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 348 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 348 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 500 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 0 ms | 348 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 348 KB | n = 5, 25 is a correct answer |
22 | Correct | 0 ms | 348 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 348 KB | n = 10, 117 is a correct answer |
24 | Correct | 1 ms | 348 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 348 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 348 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 348 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 348 KB | n = 4, 2399 is a correct answer |
29 | Correct | 1 ms | 344 KB | n = 10, 10992 is a correct answer |
30 | Correct | 1 ms | 432 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2066 ms | 344 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 4, 80 is a correct answer |
2 | Correct | 1 ms | 436 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 348 KB | n = 4, 21 is a correct answer |
4 | Correct | 1 ms | 604 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 348 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 436 KB | n = 2, 3 is a correct answer |
7 | Correct | 0 ms | 348 KB | n = 3, 29 is a correct answer |
8 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 348 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 348 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 0 ms | 348 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 428 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 0 ms | 344 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 348 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 348 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 500 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 0 ms | 348 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 348 KB | n = 5, 25 is a correct answer |
22 | Correct | 0 ms | 348 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 348 KB | n = 10, 117 is a correct answer |
24 | Correct | 1 ms | 348 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 348 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 348 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 348 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 348 KB | n = 4, 2399 is a correct answer |
29 | Correct | 1 ms | 344 KB | n = 10, 10992 is a correct answer |
30 | Correct | 1 ms | 432 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2066 ms | 344 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 4, 80 is a correct answer |
2 | Correct | 1 ms | 436 KB | n = 9, 110 is a correct answer |
3 | Correct | 0 ms | 348 KB | n = 4, 21 is a correct answer |
4 | Correct | 1 ms | 604 KB | n = 3, 4 is a correct answer |
5 | Correct | 0 ms | 348 KB | n = 2, 62 is a correct answer |
6 | Correct | 0 ms | 436 KB | n = 2, 3 is a correct answer |
7 | Correct | 0 ms | 348 KB | n = 3, 29 is a correct answer |
8 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
9 | Correct | 0 ms | 348 KB | n = 2, 3 is a correct answer |
10 | Correct | 0 ms | 348 KB | n = 2, 2000000001 is a correct answer |
11 | Correct | 1 ms | 348 KB | n = 2, 3000000000 is a correct answer |
12 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
13 | Correct | 0 ms | 348 KB | n = 3, 3000000000 is a correct answer |
14 | Correct | 0 ms | 348 KB | n = 4, 3000000001 is a correct answer |
15 | Correct | 0 ms | 428 KB | n = 4, 4000000000 is a correct answer |
16 | Correct | 0 ms | 344 KB | n = 5, 4000000000 is a correct answer |
17 | Correct | 1 ms | 348 KB | n = 10, 1000000343 is a correct answer |
18 | Correct | 1 ms | 348 KB | n = 10, 3189 is a correct answer |
19 | Correct | 1 ms | 500 KB | n = 10, 7000000000 is a correct answer |
20 | Correct | 0 ms | 348 KB | n = 5, 12 is a correct answer |
21 | Correct | 1 ms | 348 KB | n = 5, 25 is a correct answer |
22 | Correct | 0 ms | 348 KB | n = 2, 122 is a correct answer |
23 | Correct | 1 ms | 348 KB | n = 10, 117 is a correct answer |
24 | Correct | 1 ms | 348 KB | n = 10, 336 is a correct answer |
25 | Correct | 1 ms | 348 KB | n = 10, 438 is a correct answer |
26 | Correct | 1 ms | 348 KB | n = 10, 206 is a correct answer |
27 | Correct | 1 ms | 348 KB | n = 10, 636 is a correct answer |
28 | Correct | 0 ms | 348 KB | n = 4, 2399 is a correct answer |
29 | Correct | 1 ms | 344 KB | n = 10, 10992 is a correct answer |
30 | Correct | 1 ms | 432 KB | n = 10, 3112 is a correct answer |
31 | Execution timed out | 2066 ms | 344 KB | Time limit exceeded |
32 | Halted | 0 ms | 0 KB | - |