답안 #429208

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
429208 2021-06-15T18:55:56 Z LouayFarah Shortcut (IOI16_shortcut) C++14
0 / 100
2000 ms 296 KB
#include "bits/stdc++.h"
#include "shortcut.h"
using namespace std;
 
#define pb push_back
#define mp make_pair
#define fi first
#define se second
 
long long find_shortcut(int n, vector<int> l, vector<int> d, int c)
{
    vector<pair<long long, long long>> adj[2*n];
    for(int i = 0; i<n; i++)
    {
        adj[i].pb(mp(n+i, d[i]));
        adj[n+i].pb(mp(i, d[i]));
    }
 
    for(int i = 0; i<n-1; i++)
    {
        adj[i].pb(mp(i+1, l[i]));
        adj[i+1].pb(mp(i, l[i]));
    }
 
    long long res = 1e18;
 
    for(int i = 0; i<n; i++)
    {
        for(int j = i+1; j<n; j++)
        {
            adj[i].pb(mp(j, c));
            adj[j].pb(mp(i, c));
 
            long long curr = 0;
            for(int node = 0; node<2*n; node++)
            {
                vector<long long> dist(2*n, 1e18);
                vector<bool> visited(2*n, false);
                priority_queue<pair<long long, long long>> q;
                q.push(mp(0, node));
                dist[node] = 0;
 
                while(!q.empty())
                {
                    long long a = q.top().se;
                    q.pop();
 
                    if(visited[a])
                        continue;
                    visited[a] = true;
 
                    for(auto v: adj[a])
                    {
                        long long b = v.fi, w = v.se;
                        if(dist[b]>dist[a] + w)
                        {
                            dist[b] = dist[a] + w;
                            q.push(mp(-dist[b], b));
                        }
                    }
                }
 
                for(int k = 0; k<2*n; k++)
                    curr = max(curr, dist[k]);
            }
            res = min(res, curr);
 
            for(int nb = 0; nb<(int)adj[i].size(); nb++)
            {
                if(adj[i][nb].fi==j&&adj[i][nb].se==c)
                {
                    adj[i].erase(adj[i].begin() + nb);
                    break;
                }
            }
            for(int nb = 0; nb<(int)adj[j].size(); nb++)
            {
                if(adj[j][nb].fi==i&&adj[j][nb].se==c)
                {
                    adj[j].erase(adj[j].begin() + nb);
                    break;
                }
            }
        }
    }
 
    return res;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB n = 4, 80 is a correct answer
2 Correct 1 ms 204 KB n = 9, 110 is a correct answer
3 Correct 1 ms 288 KB n = 4, 21 is a correct answer
4 Correct 1 ms 204 KB n = 3, 4 is a correct answer
5 Correct 1 ms 288 KB n = 2, 62 is a correct answer
6 Correct 1 ms 204 KB n = 2, 3 is a correct answer
7 Correct 1 ms 204 KB n = 3, 29 is a correct answer
8 Correct 1 ms 204 KB n = 2, 3 is a correct answer
9 Correct 1 ms 204 KB n = 2, 3 is a correct answer
10 Correct 1 ms 296 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 204 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 292 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 288 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 288 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 204 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 204 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 292 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 204 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 292 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 204 KB n = 5, 12 is a correct answer
21 Correct 1 ms 288 KB n = 5, 25 is a correct answer
22 Correct 1 ms 204 KB n = 2, 122 is a correct answer
23 Correct 2 ms 204 KB n = 10, 117 is a correct answer
24 Correct 2 ms 204 KB n = 10, 336 is a correct answer
25 Correct 1 ms 204 KB n = 10, 438 is a correct answer
26 Correct 1 ms 204 KB n = 10, 206 is a correct answer
27 Correct 1 ms 204 KB n = 10, 636 is a correct answer
28 Correct 1 ms 204 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 204 KB n = 10, 10992 is a correct answer
30 Correct 2 ms 204 KB n = 10, 3112 is a correct answer
31 Execution timed out 2075 ms 204 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB n = 4, 80 is a correct answer
2 Correct 1 ms 204 KB n = 9, 110 is a correct answer
3 Correct 1 ms 288 KB n = 4, 21 is a correct answer
4 Correct 1 ms 204 KB n = 3, 4 is a correct answer
5 Correct 1 ms 288 KB n = 2, 62 is a correct answer
6 Correct 1 ms 204 KB n = 2, 3 is a correct answer
7 Correct 1 ms 204 KB n = 3, 29 is a correct answer
8 Correct 1 ms 204 KB n = 2, 3 is a correct answer
9 Correct 1 ms 204 KB n = 2, 3 is a correct answer
10 Correct 1 ms 296 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 204 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 292 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 288 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 288 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 204 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 204 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 292 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 204 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 292 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 204 KB n = 5, 12 is a correct answer
21 Correct 1 ms 288 KB n = 5, 25 is a correct answer
22 Correct 1 ms 204 KB n = 2, 122 is a correct answer
23 Correct 2 ms 204 KB n = 10, 117 is a correct answer
24 Correct 2 ms 204 KB n = 10, 336 is a correct answer
25 Correct 1 ms 204 KB n = 10, 438 is a correct answer
26 Correct 1 ms 204 KB n = 10, 206 is a correct answer
27 Correct 1 ms 204 KB n = 10, 636 is a correct answer
28 Correct 1 ms 204 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 204 KB n = 10, 10992 is a correct answer
30 Correct 2 ms 204 KB n = 10, 3112 is a correct answer
31 Execution timed out 2075 ms 204 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB n = 4, 80 is a correct answer
2 Correct 1 ms 204 KB n = 9, 110 is a correct answer
3 Correct 1 ms 288 KB n = 4, 21 is a correct answer
4 Correct 1 ms 204 KB n = 3, 4 is a correct answer
5 Correct 1 ms 288 KB n = 2, 62 is a correct answer
6 Correct 1 ms 204 KB n = 2, 3 is a correct answer
7 Correct 1 ms 204 KB n = 3, 29 is a correct answer
8 Correct 1 ms 204 KB n = 2, 3 is a correct answer
9 Correct 1 ms 204 KB n = 2, 3 is a correct answer
10 Correct 1 ms 296 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 204 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 292 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 288 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 288 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 204 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 204 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 292 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 204 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 292 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 204 KB n = 5, 12 is a correct answer
21 Correct 1 ms 288 KB n = 5, 25 is a correct answer
22 Correct 1 ms 204 KB n = 2, 122 is a correct answer
23 Correct 2 ms 204 KB n = 10, 117 is a correct answer
24 Correct 2 ms 204 KB n = 10, 336 is a correct answer
25 Correct 1 ms 204 KB n = 10, 438 is a correct answer
26 Correct 1 ms 204 KB n = 10, 206 is a correct answer
27 Correct 1 ms 204 KB n = 10, 636 is a correct answer
28 Correct 1 ms 204 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 204 KB n = 10, 10992 is a correct answer
30 Correct 2 ms 204 KB n = 10, 3112 is a correct answer
31 Execution timed out 2075 ms 204 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB n = 4, 80 is a correct answer
2 Correct 1 ms 204 KB n = 9, 110 is a correct answer
3 Correct 1 ms 288 KB n = 4, 21 is a correct answer
4 Correct 1 ms 204 KB n = 3, 4 is a correct answer
5 Correct 1 ms 288 KB n = 2, 62 is a correct answer
6 Correct 1 ms 204 KB n = 2, 3 is a correct answer
7 Correct 1 ms 204 KB n = 3, 29 is a correct answer
8 Correct 1 ms 204 KB n = 2, 3 is a correct answer
9 Correct 1 ms 204 KB n = 2, 3 is a correct answer
10 Correct 1 ms 296 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 204 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 292 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 288 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 288 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 204 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 204 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 292 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 204 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 292 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 204 KB n = 5, 12 is a correct answer
21 Correct 1 ms 288 KB n = 5, 25 is a correct answer
22 Correct 1 ms 204 KB n = 2, 122 is a correct answer
23 Correct 2 ms 204 KB n = 10, 117 is a correct answer
24 Correct 2 ms 204 KB n = 10, 336 is a correct answer
25 Correct 1 ms 204 KB n = 10, 438 is a correct answer
26 Correct 1 ms 204 KB n = 10, 206 is a correct answer
27 Correct 1 ms 204 KB n = 10, 636 is a correct answer
28 Correct 1 ms 204 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 204 KB n = 10, 10992 is a correct answer
30 Correct 2 ms 204 KB n = 10, 3112 is a correct answer
31 Execution timed out 2075 ms 204 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB n = 4, 80 is a correct answer
2 Correct 1 ms 204 KB n = 9, 110 is a correct answer
3 Correct 1 ms 288 KB n = 4, 21 is a correct answer
4 Correct 1 ms 204 KB n = 3, 4 is a correct answer
5 Correct 1 ms 288 KB n = 2, 62 is a correct answer
6 Correct 1 ms 204 KB n = 2, 3 is a correct answer
7 Correct 1 ms 204 KB n = 3, 29 is a correct answer
8 Correct 1 ms 204 KB n = 2, 3 is a correct answer
9 Correct 1 ms 204 KB n = 2, 3 is a correct answer
10 Correct 1 ms 296 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 204 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 292 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 288 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 288 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 204 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 204 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 292 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 204 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 292 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 204 KB n = 5, 12 is a correct answer
21 Correct 1 ms 288 KB n = 5, 25 is a correct answer
22 Correct 1 ms 204 KB n = 2, 122 is a correct answer
23 Correct 2 ms 204 KB n = 10, 117 is a correct answer
24 Correct 2 ms 204 KB n = 10, 336 is a correct answer
25 Correct 1 ms 204 KB n = 10, 438 is a correct answer
26 Correct 1 ms 204 KB n = 10, 206 is a correct answer
27 Correct 1 ms 204 KB n = 10, 636 is a correct answer
28 Correct 1 ms 204 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 204 KB n = 10, 10992 is a correct answer
30 Correct 2 ms 204 KB n = 10, 3112 is a correct answer
31 Execution timed out 2075 ms 204 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB n = 4, 80 is a correct answer
2 Correct 1 ms 204 KB n = 9, 110 is a correct answer
3 Correct 1 ms 288 KB n = 4, 21 is a correct answer
4 Correct 1 ms 204 KB n = 3, 4 is a correct answer
5 Correct 1 ms 288 KB n = 2, 62 is a correct answer
6 Correct 1 ms 204 KB n = 2, 3 is a correct answer
7 Correct 1 ms 204 KB n = 3, 29 is a correct answer
8 Correct 1 ms 204 KB n = 2, 3 is a correct answer
9 Correct 1 ms 204 KB n = 2, 3 is a correct answer
10 Correct 1 ms 296 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 204 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 292 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 288 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 288 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 204 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 204 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 292 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 204 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 292 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 204 KB n = 5, 12 is a correct answer
21 Correct 1 ms 288 KB n = 5, 25 is a correct answer
22 Correct 1 ms 204 KB n = 2, 122 is a correct answer
23 Correct 2 ms 204 KB n = 10, 117 is a correct answer
24 Correct 2 ms 204 KB n = 10, 336 is a correct answer
25 Correct 1 ms 204 KB n = 10, 438 is a correct answer
26 Correct 1 ms 204 KB n = 10, 206 is a correct answer
27 Correct 1 ms 204 KB n = 10, 636 is a correct answer
28 Correct 1 ms 204 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 204 KB n = 10, 10992 is a correct answer
30 Correct 2 ms 204 KB n = 10, 3112 is a correct answer
31 Execution timed out 2075 ms 204 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB n = 4, 80 is a correct answer
2 Correct 1 ms 204 KB n = 9, 110 is a correct answer
3 Correct 1 ms 288 KB n = 4, 21 is a correct answer
4 Correct 1 ms 204 KB n = 3, 4 is a correct answer
5 Correct 1 ms 288 KB n = 2, 62 is a correct answer
6 Correct 1 ms 204 KB n = 2, 3 is a correct answer
7 Correct 1 ms 204 KB n = 3, 29 is a correct answer
8 Correct 1 ms 204 KB n = 2, 3 is a correct answer
9 Correct 1 ms 204 KB n = 2, 3 is a correct answer
10 Correct 1 ms 296 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 204 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 292 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 288 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 288 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 204 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 204 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 292 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 204 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 292 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 204 KB n = 5, 12 is a correct answer
21 Correct 1 ms 288 KB n = 5, 25 is a correct answer
22 Correct 1 ms 204 KB n = 2, 122 is a correct answer
23 Correct 2 ms 204 KB n = 10, 117 is a correct answer
24 Correct 2 ms 204 KB n = 10, 336 is a correct answer
25 Correct 1 ms 204 KB n = 10, 438 is a correct answer
26 Correct 1 ms 204 KB n = 10, 206 is a correct answer
27 Correct 1 ms 204 KB n = 10, 636 is a correct answer
28 Correct 1 ms 204 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 204 KB n = 10, 10992 is a correct answer
30 Correct 2 ms 204 KB n = 10, 3112 is a correct answer
31 Execution timed out 2075 ms 204 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB n = 4, 80 is a correct answer
2 Correct 1 ms 204 KB n = 9, 110 is a correct answer
3 Correct 1 ms 288 KB n = 4, 21 is a correct answer
4 Correct 1 ms 204 KB n = 3, 4 is a correct answer
5 Correct 1 ms 288 KB n = 2, 62 is a correct answer
6 Correct 1 ms 204 KB n = 2, 3 is a correct answer
7 Correct 1 ms 204 KB n = 3, 29 is a correct answer
8 Correct 1 ms 204 KB n = 2, 3 is a correct answer
9 Correct 1 ms 204 KB n = 2, 3 is a correct answer
10 Correct 1 ms 296 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 204 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 292 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 288 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 288 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 204 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 204 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 292 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 204 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 292 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 204 KB n = 5, 12 is a correct answer
21 Correct 1 ms 288 KB n = 5, 25 is a correct answer
22 Correct 1 ms 204 KB n = 2, 122 is a correct answer
23 Correct 2 ms 204 KB n = 10, 117 is a correct answer
24 Correct 2 ms 204 KB n = 10, 336 is a correct answer
25 Correct 1 ms 204 KB n = 10, 438 is a correct answer
26 Correct 1 ms 204 KB n = 10, 206 is a correct answer
27 Correct 1 ms 204 KB n = 10, 636 is a correct answer
28 Correct 1 ms 204 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 204 KB n = 10, 10992 is a correct answer
30 Correct 2 ms 204 KB n = 10, 3112 is a correct answer
31 Execution timed out 2075 ms 204 KB Time limit exceeded
32 Halted 0 ms 0 KB -