Submission #602028

# Submission time Handle Problem Language Result Execution time Memory
602028 2022-07-22T13:54:18 Z A_D Shortcut (IOI16_shortcut) C++11
0 / 100
2000 ms 1492 KB
#include "shortcut.h"

#include <bits/stdc++.h>

using namespace std;

const int N=3e3+100;

long long vis[2*N][2*N];

vector<pair<long long,int>> g[2*N];
long long cc;
int nn;
void dfs(int u,int v)
{
    for(auto x:g[u]){
        if(x.first+vis[u][v]<vis[x.second][v]){
            vis[x.second][v]=vis[u][v]+x.first;
            dfs(x.second,v);
        }
    }
}

long long con(int l,int r)
{
    g[l].push_back({cc,r});
    g[r].push_back({cc,l});

    for(int i=0;i<nn*2;i++){
        for(int j=0;j<2*nn;j++){
            vis[i][j]=1e18;
        }
    }
    for(int i=0;i<nn*2;i++){
        vis[i][i]=0;
        dfs(i,i);
    }
    long long ret=0;
    for(int i=0;i<nn*2;i++){
        for(int j=0;j<2*nn;j++){
            ret=max(ret,vis[i][j]);
        }
    }

    g[l].pop_back();
    g[r].pop_back();
    return ret;
}


long long find_shortcut(int n,vector<int> l,vector<int> d,int c)
{
    nn=n;
    cc=c;
    for(int i=0;i<n*2;i++){
        g[i].clear();
    }
    for(int i=0;i<n;i++){
        g[i].push_back({d[i],i+n});
        g[i+n].push_back({d[i],i});
    }
    for(int i=0;i<n-1;i++){
        g[i].push_back({l[i],i+1});
        g[i+1].push_back({l[i],i});
    }
    long long ans=1e18;
    for(int i=0;i<n;i++){
        for(int j=i+1;j<n;j++){
            long long me=con(i,j);
            ans=min(ans,me);
        }
    }
    return ans;
}




/*
4 10
10 20 20
0 40 0 30










4 1
2 2 2
1 10 10 1
*/





# Verdict Execution time Memory Grader output
1 Correct 1 ms 456 KB n = 4, 80 is a correct answer
2 Correct 1 ms 468 KB n = 9, 110 is a correct answer
3 Correct 1 ms 468 KB n = 4, 21 is a correct answer
4 Correct 1 ms 468 KB n = 3, 4 is a correct answer
5 Correct 1 ms 468 KB n = 2, 62 is a correct answer
6 Correct 1 ms 468 KB n = 2, 3 is a correct answer
7 Correct 1 ms 468 KB n = 3, 29 is a correct answer
8 Correct 1 ms 468 KB n = 2, 3 is a correct answer
9 Correct 1 ms 452 KB n = 2, 3 is a correct answer
10 Correct 1 ms 460 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 468 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 468 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 468 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 468 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 468 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 452 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 468 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 468 KB n = 5, 12 is a correct answer
21 Correct 1 ms 468 KB n = 5, 25 is a correct answer
22 Correct 1 ms 468 KB n = 2, 122 is a correct answer
23 Correct 1 ms 468 KB n = 10, 117 is a correct answer
24 Correct 1 ms 448 KB n = 10, 336 is a correct answer
25 Correct 1 ms 468 KB n = 10, 438 is a correct answer
26 Correct 1 ms 452 KB n = 10, 206 is a correct answer
27 Correct 1 ms 468 KB n = 10, 636 is a correct answer
28 Correct 0 ms 468 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 456 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 468 KB n = 10, 3112 is a correct answer
31 Execution timed out 2082 ms 1492 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 456 KB n = 4, 80 is a correct answer
2 Correct 1 ms 468 KB n = 9, 110 is a correct answer
3 Correct 1 ms 468 KB n = 4, 21 is a correct answer
4 Correct 1 ms 468 KB n = 3, 4 is a correct answer
5 Correct 1 ms 468 KB n = 2, 62 is a correct answer
6 Correct 1 ms 468 KB n = 2, 3 is a correct answer
7 Correct 1 ms 468 KB n = 3, 29 is a correct answer
8 Correct 1 ms 468 KB n = 2, 3 is a correct answer
9 Correct 1 ms 452 KB n = 2, 3 is a correct answer
10 Correct 1 ms 460 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 468 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 468 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 468 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 468 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 468 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 452 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 468 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 468 KB n = 5, 12 is a correct answer
21 Correct 1 ms 468 KB n = 5, 25 is a correct answer
22 Correct 1 ms 468 KB n = 2, 122 is a correct answer
23 Correct 1 ms 468 KB n = 10, 117 is a correct answer
24 Correct 1 ms 448 KB n = 10, 336 is a correct answer
25 Correct 1 ms 468 KB n = 10, 438 is a correct answer
26 Correct 1 ms 452 KB n = 10, 206 is a correct answer
27 Correct 1 ms 468 KB n = 10, 636 is a correct answer
28 Correct 0 ms 468 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 456 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 468 KB n = 10, 3112 is a correct answer
31 Execution timed out 2082 ms 1492 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 456 KB n = 4, 80 is a correct answer
2 Correct 1 ms 468 KB n = 9, 110 is a correct answer
3 Correct 1 ms 468 KB n = 4, 21 is a correct answer
4 Correct 1 ms 468 KB n = 3, 4 is a correct answer
5 Correct 1 ms 468 KB n = 2, 62 is a correct answer
6 Correct 1 ms 468 KB n = 2, 3 is a correct answer
7 Correct 1 ms 468 KB n = 3, 29 is a correct answer
8 Correct 1 ms 468 KB n = 2, 3 is a correct answer
9 Correct 1 ms 452 KB n = 2, 3 is a correct answer
10 Correct 1 ms 460 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 468 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 468 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 468 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 468 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 468 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 452 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 468 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 468 KB n = 5, 12 is a correct answer
21 Correct 1 ms 468 KB n = 5, 25 is a correct answer
22 Correct 1 ms 468 KB n = 2, 122 is a correct answer
23 Correct 1 ms 468 KB n = 10, 117 is a correct answer
24 Correct 1 ms 448 KB n = 10, 336 is a correct answer
25 Correct 1 ms 468 KB n = 10, 438 is a correct answer
26 Correct 1 ms 452 KB n = 10, 206 is a correct answer
27 Correct 1 ms 468 KB n = 10, 636 is a correct answer
28 Correct 0 ms 468 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 456 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 468 KB n = 10, 3112 is a correct answer
31 Execution timed out 2082 ms 1492 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 456 KB n = 4, 80 is a correct answer
2 Correct 1 ms 468 KB n = 9, 110 is a correct answer
3 Correct 1 ms 468 KB n = 4, 21 is a correct answer
4 Correct 1 ms 468 KB n = 3, 4 is a correct answer
5 Correct 1 ms 468 KB n = 2, 62 is a correct answer
6 Correct 1 ms 468 KB n = 2, 3 is a correct answer
7 Correct 1 ms 468 KB n = 3, 29 is a correct answer
8 Correct 1 ms 468 KB n = 2, 3 is a correct answer
9 Correct 1 ms 452 KB n = 2, 3 is a correct answer
10 Correct 1 ms 460 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 468 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 468 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 468 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 468 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 468 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 452 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 468 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 468 KB n = 5, 12 is a correct answer
21 Correct 1 ms 468 KB n = 5, 25 is a correct answer
22 Correct 1 ms 468 KB n = 2, 122 is a correct answer
23 Correct 1 ms 468 KB n = 10, 117 is a correct answer
24 Correct 1 ms 448 KB n = 10, 336 is a correct answer
25 Correct 1 ms 468 KB n = 10, 438 is a correct answer
26 Correct 1 ms 452 KB n = 10, 206 is a correct answer
27 Correct 1 ms 468 KB n = 10, 636 is a correct answer
28 Correct 0 ms 468 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 456 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 468 KB n = 10, 3112 is a correct answer
31 Execution timed out 2082 ms 1492 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 456 KB n = 4, 80 is a correct answer
2 Correct 1 ms 468 KB n = 9, 110 is a correct answer
3 Correct 1 ms 468 KB n = 4, 21 is a correct answer
4 Correct 1 ms 468 KB n = 3, 4 is a correct answer
5 Correct 1 ms 468 KB n = 2, 62 is a correct answer
6 Correct 1 ms 468 KB n = 2, 3 is a correct answer
7 Correct 1 ms 468 KB n = 3, 29 is a correct answer
8 Correct 1 ms 468 KB n = 2, 3 is a correct answer
9 Correct 1 ms 452 KB n = 2, 3 is a correct answer
10 Correct 1 ms 460 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 468 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 468 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 468 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 468 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 468 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 452 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 468 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 468 KB n = 5, 12 is a correct answer
21 Correct 1 ms 468 KB n = 5, 25 is a correct answer
22 Correct 1 ms 468 KB n = 2, 122 is a correct answer
23 Correct 1 ms 468 KB n = 10, 117 is a correct answer
24 Correct 1 ms 448 KB n = 10, 336 is a correct answer
25 Correct 1 ms 468 KB n = 10, 438 is a correct answer
26 Correct 1 ms 452 KB n = 10, 206 is a correct answer
27 Correct 1 ms 468 KB n = 10, 636 is a correct answer
28 Correct 0 ms 468 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 456 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 468 KB n = 10, 3112 is a correct answer
31 Execution timed out 2082 ms 1492 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 456 KB n = 4, 80 is a correct answer
2 Correct 1 ms 468 KB n = 9, 110 is a correct answer
3 Correct 1 ms 468 KB n = 4, 21 is a correct answer
4 Correct 1 ms 468 KB n = 3, 4 is a correct answer
5 Correct 1 ms 468 KB n = 2, 62 is a correct answer
6 Correct 1 ms 468 KB n = 2, 3 is a correct answer
7 Correct 1 ms 468 KB n = 3, 29 is a correct answer
8 Correct 1 ms 468 KB n = 2, 3 is a correct answer
9 Correct 1 ms 452 KB n = 2, 3 is a correct answer
10 Correct 1 ms 460 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 468 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 468 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 468 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 468 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 468 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 452 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 468 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 468 KB n = 5, 12 is a correct answer
21 Correct 1 ms 468 KB n = 5, 25 is a correct answer
22 Correct 1 ms 468 KB n = 2, 122 is a correct answer
23 Correct 1 ms 468 KB n = 10, 117 is a correct answer
24 Correct 1 ms 448 KB n = 10, 336 is a correct answer
25 Correct 1 ms 468 KB n = 10, 438 is a correct answer
26 Correct 1 ms 452 KB n = 10, 206 is a correct answer
27 Correct 1 ms 468 KB n = 10, 636 is a correct answer
28 Correct 0 ms 468 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 456 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 468 KB n = 10, 3112 is a correct answer
31 Execution timed out 2082 ms 1492 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 456 KB n = 4, 80 is a correct answer
2 Correct 1 ms 468 KB n = 9, 110 is a correct answer
3 Correct 1 ms 468 KB n = 4, 21 is a correct answer
4 Correct 1 ms 468 KB n = 3, 4 is a correct answer
5 Correct 1 ms 468 KB n = 2, 62 is a correct answer
6 Correct 1 ms 468 KB n = 2, 3 is a correct answer
7 Correct 1 ms 468 KB n = 3, 29 is a correct answer
8 Correct 1 ms 468 KB n = 2, 3 is a correct answer
9 Correct 1 ms 452 KB n = 2, 3 is a correct answer
10 Correct 1 ms 460 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 468 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 468 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 468 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 468 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 468 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 452 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 468 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 468 KB n = 5, 12 is a correct answer
21 Correct 1 ms 468 KB n = 5, 25 is a correct answer
22 Correct 1 ms 468 KB n = 2, 122 is a correct answer
23 Correct 1 ms 468 KB n = 10, 117 is a correct answer
24 Correct 1 ms 448 KB n = 10, 336 is a correct answer
25 Correct 1 ms 468 KB n = 10, 438 is a correct answer
26 Correct 1 ms 452 KB n = 10, 206 is a correct answer
27 Correct 1 ms 468 KB n = 10, 636 is a correct answer
28 Correct 0 ms 468 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 456 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 468 KB n = 10, 3112 is a correct answer
31 Execution timed out 2082 ms 1492 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 456 KB n = 4, 80 is a correct answer
2 Correct 1 ms 468 KB n = 9, 110 is a correct answer
3 Correct 1 ms 468 KB n = 4, 21 is a correct answer
4 Correct 1 ms 468 KB n = 3, 4 is a correct answer
5 Correct 1 ms 468 KB n = 2, 62 is a correct answer
6 Correct 1 ms 468 KB n = 2, 3 is a correct answer
7 Correct 1 ms 468 KB n = 3, 29 is a correct answer
8 Correct 1 ms 468 KB n = 2, 3 is a correct answer
9 Correct 1 ms 452 KB n = 2, 3 is a correct answer
10 Correct 1 ms 460 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 468 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
13 Correct 1 ms 452 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 468 KB n = 4, 3000000001 is a correct answer
15 Correct 1 ms 468 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 468 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 468 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 452 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 468 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 468 KB n = 5, 12 is a correct answer
21 Correct 1 ms 468 KB n = 5, 25 is a correct answer
22 Correct 1 ms 468 KB n = 2, 122 is a correct answer
23 Correct 1 ms 468 KB n = 10, 117 is a correct answer
24 Correct 1 ms 448 KB n = 10, 336 is a correct answer
25 Correct 1 ms 468 KB n = 10, 438 is a correct answer
26 Correct 1 ms 452 KB n = 10, 206 is a correct answer
27 Correct 1 ms 468 KB n = 10, 636 is a correct answer
28 Correct 0 ms 468 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 456 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 468 KB n = 10, 3112 is a correct answer
31 Execution timed out 2082 ms 1492 KB Time limit exceeded
32 Halted 0 ms 0 KB -