Submission #380300

# Submission time Handle Problem Language Result Execution time Memory
380300 2021-03-20T22:58:21 Z Pichon5 Shortcut (IOI16_shortcut) C++17
0 / 100
1314 ms 372 KB
#include "shortcut.h"
#include<bits/stdc++.h>
#define lcm(a,b) (a/__gcd(a,b))*b
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define ll long long int
#define vi vector<int>
#define vll vector<ll>
#define pb push_back
#define F first
#define S second
#define mp make_pair
//salida rapida "\n"
//DECIMALES fixed<<sp(n)<<x<<endl;
//gcd(a,b)= ax + by
//lCB x&-x
//set.erase(it) - ersases the element present at the required index//auto it = s.find(element)
//set.find(element) - iterator pointing to the given element if it is present else return pointer pointing to set.end()
//set.lower_bound(element) - iterator pointing to element greater than or equal to the given element
//set.upper_bound(element) - iterator pointing to element greater than the given element
// | ^
//__builtin_popcount(x)
using namespace std;

long long find_shortcut(int n, vi l, vi d, int c){
    ll res=1e18;
    for(int i=0;i<n;i++){
        for(int L=i+1;L<n;L++){
            ll diametro=0;
            for(int k=0;k<n;k++){
                vll peso(n+1,1e18);
                peso[k]=0ll;
                priority_queue<pair<int,ll> >q;
                q.push({0,k});
                vector<bool>vis(n+1,false);
                while(!q.empty()){
                    int u=int(q.top().S);
                    q.pop();
                    if(vis[u])continue;
                    vis[u]=true;
                    if(u+1<n && peso[u+1]>peso[u]+l[u]){
                        peso[u+1]=peso[u]+l[u];
                        q.push({-peso[u+1],u+1});
                    }
                    if(u-1>=0 && peso[u-1]>peso[u]+l[u-1]){
                        peso[u-1]=peso[u]+l[u-1];
                        q.push({-peso[u-1],u-1});
                    }
                    if(i==u && peso[L]>peso[u]+c){
                        peso[L]=peso[u]+c;
                        q.push({-peso[L],L});
                    }
                    if(L==u && peso[i]>peso[u]+c){
                        peso[i]=peso[u]+c;
                        q.push({-peso[i],i});
                    }
                }
                if(d[k]>diametro)diametro=d[k];
                for(int j=0;j<n;j++){
                    if(j==k)continue;
                    diametro=max(diametro,peso[j]+d[j]+d[k]);
                }
            }
            res=min(res,diametro);
        }
    }
    return res;
    //9 30 10 10 10 10 10 10 10 10 20 0 30 0 0 40 0 40 0
    //4 10 10 20 20 0 40 0 30
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n = 4, 80 is a correct answer
2 Correct 1 ms 364 KB n = 9, 110 is a correct answer
3 Correct 0 ms 364 KB n = 4, 21 is a correct answer
4 Correct 1 ms 364 KB n = 3, 4 is a correct answer
5 Correct 0 ms 364 KB n = 2, 62 is a correct answer
6 Correct 0 ms 276 KB n = 2, 3 is a correct answer
7 Correct 1 ms 364 KB n = 3, 29 is a correct answer
8 Correct 1 ms 364 KB n = 2, 3 is a correct answer
9 Correct 1 ms 364 KB n = 2, 3 is a correct answer
10 Correct 1 ms 364 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 364 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 364 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 364 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 364 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 364 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 364 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 364 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 364 KB n = 5, 12 is a correct answer
21 Correct 1 ms 364 KB n = 5, 25 is a correct answer
22 Correct 0 ms 364 KB n = 2, 122 is a correct answer
23 Correct 1 ms 364 KB n = 10, 117 is a correct answer
24 Correct 1 ms 364 KB n = 10, 336 is a correct answer
25 Correct 1 ms 364 KB n = 10, 438 is a correct answer
26 Correct 1 ms 364 KB n = 10, 206 is a correct answer
27 Correct 1 ms 364 KB n = 10, 636 is a correct answer
28 Correct 1 ms 364 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 364 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 364 KB n = 10, 3112 is a correct answer
31 Incorrect 1314 ms 372 KB n = 100, incorrect answer: jury 51000000001 vs contestant 58000000001
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n = 4, 80 is a correct answer
2 Correct 1 ms 364 KB n = 9, 110 is a correct answer
3 Correct 0 ms 364 KB n = 4, 21 is a correct answer
4 Correct 1 ms 364 KB n = 3, 4 is a correct answer
5 Correct 0 ms 364 KB n = 2, 62 is a correct answer
6 Correct 0 ms 276 KB n = 2, 3 is a correct answer
7 Correct 1 ms 364 KB n = 3, 29 is a correct answer
8 Correct 1 ms 364 KB n = 2, 3 is a correct answer
9 Correct 1 ms 364 KB n = 2, 3 is a correct answer
10 Correct 1 ms 364 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 364 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 364 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 364 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 364 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 364 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 364 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 364 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 364 KB n = 5, 12 is a correct answer
21 Correct 1 ms 364 KB n = 5, 25 is a correct answer
22 Correct 0 ms 364 KB n = 2, 122 is a correct answer
23 Correct 1 ms 364 KB n = 10, 117 is a correct answer
24 Correct 1 ms 364 KB n = 10, 336 is a correct answer
25 Correct 1 ms 364 KB n = 10, 438 is a correct answer
26 Correct 1 ms 364 KB n = 10, 206 is a correct answer
27 Correct 1 ms 364 KB n = 10, 636 is a correct answer
28 Correct 1 ms 364 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 364 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 364 KB n = 10, 3112 is a correct answer
31 Incorrect 1314 ms 372 KB n = 100, incorrect answer: jury 51000000001 vs contestant 58000000001
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n = 4, 80 is a correct answer
2 Correct 1 ms 364 KB n = 9, 110 is a correct answer
3 Correct 0 ms 364 KB n = 4, 21 is a correct answer
4 Correct 1 ms 364 KB n = 3, 4 is a correct answer
5 Correct 0 ms 364 KB n = 2, 62 is a correct answer
6 Correct 0 ms 276 KB n = 2, 3 is a correct answer
7 Correct 1 ms 364 KB n = 3, 29 is a correct answer
8 Correct 1 ms 364 KB n = 2, 3 is a correct answer
9 Correct 1 ms 364 KB n = 2, 3 is a correct answer
10 Correct 1 ms 364 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 364 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 364 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 364 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 364 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 364 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 364 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 364 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 364 KB n = 5, 12 is a correct answer
21 Correct 1 ms 364 KB n = 5, 25 is a correct answer
22 Correct 0 ms 364 KB n = 2, 122 is a correct answer
23 Correct 1 ms 364 KB n = 10, 117 is a correct answer
24 Correct 1 ms 364 KB n = 10, 336 is a correct answer
25 Correct 1 ms 364 KB n = 10, 438 is a correct answer
26 Correct 1 ms 364 KB n = 10, 206 is a correct answer
27 Correct 1 ms 364 KB n = 10, 636 is a correct answer
28 Correct 1 ms 364 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 364 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 364 KB n = 10, 3112 is a correct answer
31 Incorrect 1314 ms 372 KB n = 100, incorrect answer: jury 51000000001 vs contestant 58000000001
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n = 4, 80 is a correct answer
2 Correct 1 ms 364 KB n = 9, 110 is a correct answer
3 Correct 0 ms 364 KB n = 4, 21 is a correct answer
4 Correct 1 ms 364 KB n = 3, 4 is a correct answer
5 Correct 0 ms 364 KB n = 2, 62 is a correct answer
6 Correct 0 ms 276 KB n = 2, 3 is a correct answer
7 Correct 1 ms 364 KB n = 3, 29 is a correct answer
8 Correct 1 ms 364 KB n = 2, 3 is a correct answer
9 Correct 1 ms 364 KB n = 2, 3 is a correct answer
10 Correct 1 ms 364 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 364 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 364 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 364 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 364 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 364 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 364 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 364 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 364 KB n = 5, 12 is a correct answer
21 Correct 1 ms 364 KB n = 5, 25 is a correct answer
22 Correct 0 ms 364 KB n = 2, 122 is a correct answer
23 Correct 1 ms 364 KB n = 10, 117 is a correct answer
24 Correct 1 ms 364 KB n = 10, 336 is a correct answer
25 Correct 1 ms 364 KB n = 10, 438 is a correct answer
26 Correct 1 ms 364 KB n = 10, 206 is a correct answer
27 Correct 1 ms 364 KB n = 10, 636 is a correct answer
28 Correct 1 ms 364 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 364 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 364 KB n = 10, 3112 is a correct answer
31 Incorrect 1314 ms 372 KB n = 100, incorrect answer: jury 51000000001 vs contestant 58000000001
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n = 4, 80 is a correct answer
2 Correct 1 ms 364 KB n = 9, 110 is a correct answer
3 Correct 0 ms 364 KB n = 4, 21 is a correct answer
4 Correct 1 ms 364 KB n = 3, 4 is a correct answer
5 Correct 0 ms 364 KB n = 2, 62 is a correct answer
6 Correct 0 ms 276 KB n = 2, 3 is a correct answer
7 Correct 1 ms 364 KB n = 3, 29 is a correct answer
8 Correct 1 ms 364 KB n = 2, 3 is a correct answer
9 Correct 1 ms 364 KB n = 2, 3 is a correct answer
10 Correct 1 ms 364 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 364 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 364 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 364 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 364 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 364 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 364 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 364 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 364 KB n = 5, 12 is a correct answer
21 Correct 1 ms 364 KB n = 5, 25 is a correct answer
22 Correct 0 ms 364 KB n = 2, 122 is a correct answer
23 Correct 1 ms 364 KB n = 10, 117 is a correct answer
24 Correct 1 ms 364 KB n = 10, 336 is a correct answer
25 Correct 1 ms 364 KB n = 10, 438 is a correct answer
26 Correct 1 ms 364 KB n = 10, 206 is a correct answer
27 Correct 1 ms 364 KB n = 10, 636 is a correct answer
28 Correct 1 ms 364 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 364 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 364 KB n = 10, 3112 is a correct answer
31 Incorrect 1314 ms 372 KB n = 100, incorrect answer: jury 51000000001 vs contestant 58000000001
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n = 4, 80 is a correct answer
2 Correct 1 ms 364 KB n = 9, 110 is a correct answer
3 Correct 0 ms 364 KB n = 4, 21 is a correct answer
4 Correct 1 ms 364 KB n = 3, 4 is a correct answer
5 Correct 0 ms 364 KB n = 2, 62 is a correct answer
6 Correct 0 ms 276 KB n = 2, 3 is a correct answer
7 Correct 1 ms 364 KB n = 3, 29 is a correct answer
8 Correct 1 ms 364 KB n = 2, 3 is a correct answer
9 Correct 1 ms 364 KB n = 2, 3 is a correct answer
10 Correct 1 ms 364 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 364 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 364 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 364 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 364 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 364 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 364 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 364 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 364 KB n = 5, 12 is a correct answer
21 Correct 1 ms 364 KB n = 5, 25 is a correct answer
22 Correct 0 ms 364 KB n = 2, 122 is a correct answer
23 Correct 1 ms 364 KB n = 10, 117 is a correct answer
24 Correct 1 ms 364 KB n = 10, 336 is a correct answer
25 Correct 1 ms 364 KB n = 10, 438 is a correct answer
26 Correct 1 ms 364 KB n = 10, 206 is a correct answer
27 Correct 1 ms 364 KB n = 10, 636 is a correct answer
28 Correct 1 ms 364 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 364 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 364 KB n = 10, 3112 is a correct answer
31 Incorrect 1314 ms 372 KB n = 100, incorrect answer: jury 51000000001 vs contestant 58000000001
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n = 4, 80 is a correct answer
2 Correct 1 ms 364 KB n = 9, 110 is a correct answer
3 Correct 0 ms 364 KB n = 4, 21 is a correct answer
4 Correct 1 ms 364 KB n = 3, 4 is a correct answer
5 Correct 0 ms 364 KB n = 2, 62 is a correct answer
6 Correct 0 ms 276 KB n = 2, 3 is a correct answer
7 Correct 1 ms 364 KB n = 3, 29 is a correct answer
8 Correct 1 ms 364 KB n = 2, 3 is a correct answer
9 Correct 1 ms 364 KB n = 2, 3 is a correct answer
10 Correct 1 ms 364 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 364 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 364 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 364 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 364 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 364 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 364 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 364 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 364 KB n = 5, 12 is a correct answer
21 Correct 1 ms 364 KB n = 5, 25 is a correct answer
22 Correct 0 ms 364 KB n = 2, 122 is a correct answer
23 Correct 1 ms 364 KB n = 10, 117 is a correct answer
24 Correct 1 ms 364 KB n = 10, 336 is a correct answer
25 Correct 1 ms 364 KB n = 10, 438 is a correct answer
26 Correct 1 ms 364 KB n = 10, 206 is a correct answer
27 Correct 1 ms 364 KB n = 10, 636 is a correct answer
28 Correct 1 ms 364 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 364 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 364 KB n = 10, 3112 is a correct answer
31 Incorrect 1314 ms 372 KB n = 100, incorrect answer: jury 51000000001 vs contestant 58000000001
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n = 4, 80 is a correct answer
2 Correct 1 ms 364 KB n = 9, 110 is a correct answer
3 Correct 0 ms 364 KB n = 4, 21 is a correct answer
4 Correct 1 ms 364 KB n = 3, 4 is a correct answer
5 Correct 0 ms 364 KB n = 2, 62 is a correct answer
6 Correct 0 ms 276 KB n = 2, 3 is a correct answer
7 Correct 1 ms 364 KB n = 3, 29 is a correct answer
8 Correct 1 ms 364 KB n = 2, 3 is a correct answer
9 Correct 1 ms 364 KB n = 2, 3 is a correct answer
10 Correct 1 ms 364 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 364 KB n = 2, 3000000000 is a correct answer
12 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 364 KB n = 3, 3000000000 is a correct answer
14 Correct 1 ms 364 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 364 KB n = 4, 4000000000 is a correct answer
16 Correct 1 ms 364 KB n = 5, 4000000000 is a correct answer
17 Correct 1 ms 364 KB n = 10, 1000000343 is a correct answer
18 Correct 1 ms 364 KB n = 10, 3189 is a correct answer
19 Correct 1 ms 364 KB n = 10, 7000000000 is a correct answer
20 Correct 1 ms 364 KB n = 5, 12 is a correct answer
21 Correct 1 ms 364 KB n = 5, 25 is a correct answer
22 Correct 0 ms 364 KB n = 2, 122 is a correct answer
23 Correct 1 ms 364 KB n = 10, 117 is a correct answer
24 Correct 1 ms 364 KB n = 10, 336 is a correct answer
25 Correct 1 ms 364 KB n = 10, 438 is a correct answer
26 Correct 1 ms 364 KB n = 10, 206 is a correct answer
27 Correct 1 ms 364 KB n = 10, 636 is a correct answer
28 Correct 1 ms 364 KB n = 4, 2399 is a correct answer
29 Correct 1 ms 364 KB n = 10, 10992 is a correct answer
30 Correct 1 ms 364 KB n = 10, 3112 is a correct answer
31 Incorrect 1314 ms 372 KB n = 100, incorrect answer: jury 51000000001 vs contestant 58000000001
32 Halted 0 ms 0 KB -