답안 #351621

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
351621 2021-01-20T05:59:27 Z beksultan04 Shortcut (IOI16_shortcut) C++14
0 / 100
2000 ms 23936 KB
#include "shortcut.h"
#ifndef EVAL
#include "grader.cpp"
#endif // EVAL
#include <bits/stdc++.h>
using namespace std;
#define lol long long
#define pii pair<int,int>
#define OK puts("OK");
#define NO puts("NO");
#define YES puts("YES");
#define fr first
#define sc second
#define ret return
#define scanl(a) scanf("%lld",&a);
#define scanll(a,b) scanf("%lld %lld",&a, &b);
#define scanlll(a,b,c) scanf("%lld %lld %lld",&a,&b,&c);
#define scan1(a) scanf("%d",&a);
#define scan2(a,b) scanf("%d %d",&a, &b);
#define scan3(a,b,c) scanf("%d %d %d",&a,&b,&c);
#define all(s) s.begin(),s.end()
#define allr(s) s.rbegin(),s.rend()
#define pb push_back
#define sz(v) (int)v.size()
#define endi puts("");
#define eps 1e-12
const lol INF = 1e17+1;
lol dia,iz,dis[1000001];
vector <pair<int,lol>> g[1000001];

lol find_shortcut(int n, vector<int> l, vector<int> d, int c){
    int i,j,x=0,y=0,pos=0;
    lol ans = -1,mx = 0,res=INF;
    vector <pair<lol,pii> > v;

    for (i=0;i<n;++i){
        g[i].pb({i+n,d[i]});
        g[i+n].pb({i,d[i]});
        if (i+1 < n){
            g[i].pb({i+1,l[i]});
            g[i+1].pb({i,l[i]});
        }
    }
    for (x=0;x<n;++x){
        for (y=x+1;y<n;++y){
            ans = 0;
            g[x].pb({y,c});
            g[y].pb({x,c});
            for (int start = 0;start < 2*n;++start){
                priority_queue <pair<lol,int>> s;
                for (i=0;i<n*2;++i)dis[i] = INF;
                s.push({0,start});
                dis[start] = 0;
                while (!s.empty()){
                    int x = s.top().sc;
                    s.pop();
                    for (pair<int,lol> to: g[x]){
                        if (to.sc+dis[x] < dis[to.fr]){
                            dis[to.fr] = to.sc+dis[x];
                            s.push({dis[to.fr],to.fr});
                        }
                    }
                }
                for (i=0;i<n*2;++i){
                    if (dis[i] > ans && dis[i] != INF){
                        ans = dis[i];
                    }
                }
            }
            g[x].pop_back();
            g[y].pop_back();
            res = min(res,ans);
        }
    }


    ret res;
}

Compilation message

shortcut.cpp: In function 'long long int find_shortcut(int, std::vector<int>, std::vector<int>, int)':
shortcut.cpp:32:11: warning: unused variable 'j' [-Wunused-variable]
   32 |     int i,j,x=0,y=0,pos=0;
      |           ^
shortcut.cpp:32:21: warning: unused variable 'pos' [-Wunused-variable]
   32 |     int i,j,x=0,y=0,pos=0;
      |                     ^~~
shortcut.cpp:33:18: warning: unused variable 'mx' [-Wunused-variable]
   33 |     lol ans = -1,mx = 0,res=INF;
      |                  ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23916 KB n = 4, 80 is a correct answer
2 Correct 17 ms 23788 KB n = 9, 110 is a correct answer
3 Correct 16 ms 23936 KB n = 4, 21 is a correct answer
4 Correct 16 ms 23916 KB n = 3, 4 is a correct answer
5 Correct 17 ms 23788 KB n = 2, 62 is a correct answer
6 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
7 Correct 16 ms 23788 KB n = 3, 29 is a correct answer
8 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
9 Correct 17 ms 23788 KB n = 2, 3 is a correct answer
10 Correct 16 ms 23788 KB n = 2, 2000000001 is a correct answer
11 Correct 17 ms 23788 KB n = 2, 3000000000 is a correct answer
12 Correct 17 ms 23788 KB n = 3, 3000000000 is a correct answer
13 Correct 16 ms 23788 KB n = 3, 3000000000 is a correct answer
14 Correct 17 ms 23788 KB n = 4, 3000000001 is a correct answer
15 Correct 16 ms 23788 KB n = 4, 4000000000 is a correct answer
16 Correct 16 ms 23788 KB n = 5, 4000000000 is a correct answer
17 Correct 17 ms 23788 KB n = 10, 1000000343 is a correct answer
18 Correct 19 ms 23788 KB n = 10, 3189 is a correct answer
19 Correct 18 ms 23788 KB n = 10, 7000000000 is a correct answer
20 Correct 16 ms 23788 KB n = 5, 12 is a correct answer
21 Correct 17 ms 23820 KB n = 5, 25 is a correct answer
22 Correct 18 ms 23788 KB n = 2, 122 is a correct answer
23 Correct 17 ms 23788 KB n = 10, 117 is a correct answer
24 Correct 18 ms 23864 KB n = 10, 336 is a correct answer
25 Correct 18 ms 23788 KB n = 10, 438 is a correct answer
26 Correct 17 ms 23788 KB n = 10, 206 is a correct answer
27 Correct 17 ms 23788 KB n = 10, 636 is a correct answer
28 Correct 17 ms 23788 KB n = 4, 2399 is a correct answer
29 Correct 17 ms 23788 KB n = 10, 10992 is a correct answer
30 Correct 19 ms 23788 KB n = 10, 3112 is a correct answer
31 Execution timed out 2067 ms 23808 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23916 KB n = 4, 80 is a correct answer
2 Correct 17 ms 23788 KB n = 9, 110 is a correct answer
3 Correct 16 ms 23936 KB n = 4, 21 is a correct answer
4 Correct 16 ms 23916 KB n = 3, 4 is a correct answer
5 Correct 17 ms 23788 KB n = 2, 62 is a correct answer
6 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
7 Correct 16 ms 23788 KB n = 3, 29 is a correct answer
8 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
9 Correct 17 ms 23788 KB n = 2, 3 is a correct answer
10 Correct 16 ms 23788 KB n = 2, 2000000001 is a correct answer
11 Correct 17 ms 23788 KB n = 2, 3000000000 is a correct answer
12 Correct 17 ms 23788 KB n = 3, 3000000000 is a correct answer
13 Correct 16 ms 23788 KB n = 3, 3000000000 is a correct answer
14 Correct 17 ms 23788 KB n = 4, 3000000001 is a correct answer
15 Correct 16 ms 23788 KB n = 4, 4000000000 is a correct answer
16 Correct 16 ms 23788 KB n = 5, 4000000000 is a correct answer
17 Correct 17 ms 23788 KB n = 10, 1000000343 is a correct answer
18 Correct 19 ms 23788 KB n = 10, 3189 is a correct answer
19 Correct 18 ms 23788 KB n = 10, 7000000000 is a correct answer
20 Correct 16 ms 23788 KB n = 5, 12 is a correct answer
21 Correct 17 ms 23820 KB n = 5, 25 is a correct answer
22 Correct 18 ms 23788 KB n = 2, 122 is a correct answer
23 Correct 17 ms 23788 KB n = 10, 117 is a correct answer
24 Correct 18 ms 23864 KB n = 10, 336 is a correct answer
25 Correct 18 ms 23788 KB n = 10, 438 is a correct answer
26 Correct 17 ms 23788 KB n = 10, 206 is a correct answer
27 Correct 17 ms 23788 KB n = 10, 636 is a correct answer
28 Correct 17 ms 23788 KB n = 4, 2399 is a correct answer
29 Correct 17 ms 23788 KB n = 10, 10992 is a correct answer
30 Correct 19 ms 23788 KB n = 10, 3112 is a correct answer
31 Execution timed out 2067 ms 23808 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23916 KB n = 4, 80 is a correct answer
2 Correct 17 ms 23788 KB n = 9, 110 is a correct answer
3 Correct 16 ms 23936 KB n = 4, 21 is a correct answer
4 Correct 16 ms 23916 KB n = 3, 4 is a correct answer
5 Correct 17 ms 23788 KB n = 2, 62 is a correct answer
6 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
7 Correct 16 ms 23788 KB n = 3, 29 is a correct answer
8 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
9 Correct 17 ms 23788 KB n = 2, 3 is a correct answer
10 Correct 16 ms 23788 KB n = 2, 2000000001 is a correct answer
11 Correct 17 ms 23788 KB n = 2, 3000000000 is a correct answer
12 Correct 17 ms 23788 KB n = 3, 3000000000 is a correct answer
13 Correct 16 ms 23788 KB n = 3, 3000000000 is a correct answer
14 Correct 17 ms 23788 KB n = 4, 3000000001 is a correct answer
15 Correct 16 ms 23788 KB n = 4, 4000000000 is a correct answer
16 Correct 16 ms 23788 KB n = 5, 4000000000 is a correct answer
17 Correct 17 ms 23788 KB n = 10, 1000000343 is a correct answer
18 Correct 19 ms 23788 KB n = 10, 3189 is a correct answer
19 Correct 18 ms 23788 KB n = 10, 7000000000 is a correct answer
20 Correct 16 ms 23788 KB n = 5, 12 is a correct answer
21 Correct 17 ms 23820 KB n = 5, 25 is a correct answer
22 Correct 18 ms 23788 KB n = 2, 122 is a correct answer
23 Correct 17 ms 23788 KB n = 10, 117 is a correct answer
24 Correct 18 ms 23864 KB n = 10, 336 is a correct answer
25 Correct 18 ms 23788 KB n = 10, 438 is a correct answer
26 Correct 17 ms 23788 KB n = 10, 206 is a correct answer
27 Correct 17 ms 23788 KB n = 10, 636 is a correct answer
28 Correct 17 ms 23788 KB n = 4, 2399 is a correct answer
29 Correct 17 ms 23788 KB n = 10, 10992 is a correct answer
30 Correct 19 ms 23788 KB n = 10, 3112 is a correct answer
31 Execution timed out 2067 ms 23808 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23916 KB n = 4, 80 is a correct answer
2 Correct 17 ms 23788 KB n = 9, 110 is a correct answer
3 Correct 16 ms 23936 KB n = 4, 21 is a correct answer
4 Correct 16 ms 23916 KB n = 3, 4 is a correct answer
5 Correct 17 ms 23788 KB n = 2, 62 is a correct answer
6 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
7 Correct 16 ms 23788 KB n = 3, 29 is a correct answer
8 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
9 Correct 17 ms 23788 KB n = 2, 3 is a correct answer
10 Correct 16 ms 23788 KB n = 2, 2000000001 is a correct answer
11 Correct 17 ms 23788 KB n = 2, 3000000000 is a correct answer
12 Correct 17 ms 23788 KB n = 3, 3000000000 is a correct answer
13 Correct 16 ms 23788 KB n = 3, 3000000000 is a correct answer
14 Correct 17 ms 23788 KB n = 4, 3000000001 is a correct answer
15 Correct 16 ms 23788 KB n = 4, 4000000000 is a correct answer
16 Correct 16 ms 23788 KB n = 5, 4000000000 is a correct answer
17 Correct 17 ms 23788 KB n = 10, 1000000343 is a correct answer
18 Correct 19 ms 23788 KB n = 10, 3189 is a correct answer
19 Correct 18 ms 23788 KB n = 10, 7000000000 is a correct answer
20 Correct 16 ms 23788 KB n = 5, 12 is a correct answer
21 Correct 17 ms 23820 KB n = 5, 25 is a correct answer
22 Correct 18 ms 23788 KB n = 2, 122 is a correct answer
23 Correct 17 ms 23788 KB n = 10, 117 is a correct answer
24 Correct 18 ms 23864 KB n = 10, 336 is a correct answer
25 Correct 18 ms 23788 KB n = 10, 438 is a correct answer
26 Correct 17 ms 23788 KB n = 10, 206 is a correct answer
27 Correct 17 ms 23788 KB n = 10, 636 is a correct answer
28 Correct 17 ms 23788 KB n = 4, 2399 is a correct answer
29 Correct 17 ms 23788 KB n = 10, 10992 is a correct answer
30 Correct 19 ms 23788 KB n = 10, 3112 is a correct answer
31 Execution timed out 2067 ms 23808 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23916 KB n = 4, 80 is a correct answer
2 Correct 17 ms 23788 KB n = 9, 110 is a correct answer
3 Correct 16 ms 23936 KB n = 4, 21 is a correct answer
4 Correct 16 ms 23916 KB n = 3, 4 is a correct answer
5 Correct 17 ms 23788 KB n = 2, 62 is a correct answer
6 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
7 Correct 16 ms 23788 KB n = 3, 29 is a correct answer
8 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
9 Correct 17 ms 23788 KB n = 2, 3 is a correct answer
10 Correct 16 ms 23788 KB n = 2, 2000000001 is a correct answer
11 Correct 17 ms 23788 KB n = 2, 3000000000 is a correct answer
12 Correct 17 ms 23788 KB n = 3, 3000000000 is a correct answer
13 Correct 16 ms 23788 KB n = 3, 3000000000 is a correct answer
14 Correct 17 ms 23788 KB n = 4, 3000000001 is a correct answer
15 Correct 16 ms 23788 KB n = 4, 4000000000 is a correct answer
16 Correct 16 ms 23788 KB n = 5, 4000000000 is a correct answer
17 Correct 17 ms 23788 KB n = 10, 1000000343 is a correct answer
18 Correct 19 ms 23788 KB n = 10, 3189 is a correct answer
19 Correct 18 ms 23788 KB n = 10, 7000000000 is a correct answer
20 Correct 16 ms 23788 KB n = 5, 12 is a correct answer
21 Correct 17 ms 23820 KB n = 5, 25 is a correct answer
22 Correct 18 ms 23788 KB n = 2, 122 is a correct answer
23 Correct 17 ms 23788 KB n = 10, 117 is a correct answer
24 Correct 18 ms 23864 KB n = 10, 336 is a correct answer
25 Correct 18 ms 23788 KB n = 10, 438 is a correct answer
26 Correct 17 ms 23788 KB n = 10, 206 is a correct answer
27 Correct 17 ms 23788 KB n = 10, 636 is a correct answer
28 Correct 17 ms 23788 KB n = 4, 2399 is a correct answer
29 Correct 17 ms 23788 KB n = 10, 10992 is a correct answer
30 Correct 19 ms 23788 KB n = 10, 3112 is a correct answer
31 Execution timed out 2067 ms 23808 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23916 KB n = 4, 80 is a correct answer
2 Correct 17 ms 23788 KB n = 9, 110 is a correct answer
3 Correct 16 ms 23936 KB n = 4, 21 is a correct answer
4 Correct 16 ms 23916 KB n = 3, 4 is a correct answer
5 Correct 17 ms 23788 KB n = 2, 62 is a correct answer
6 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
7 Correct 16 ms 23788 KB n = 3, 29 is a correct answer
8 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
9 Correct 17 ms 23788 KB n = 2, 3 is a correct answer
10 Correct 16 ms 23788 KB n = 2, 2000000001 is a correct answer
11 Correct 17 ms 23788 KB n = 2, 3000000000 is a correct answer
12 Correct 17 ms 23788 KB n = 3, 3000000000 is a correct answer
13 Correct 16 ms 23788 KB n = 3, 3000000000 is a correct answer
14 Correct 17 ms 23788 KB n = 4, 3000000001 is a correct answer
15 Correct 16 ms 23788 KB n = 4, 4000000000 is a correct answer
16 Correct 16 ms 23788 KB n = 5, 4000000000 is a correct answer
17 Correct 17 ms 23788 KB n = 10, 1000000343 is a correct answer
18 Correct 19 ms 23788 KB n = 10, 3189 is a correct answer
19 Correct 18 ms 23788 KB n = 10, 7000000000 is a correct answer
20 Correct 16 ms 23788 KB n = 5, 12 is a correct answer
21 Correct 17 ms 23820 KB n = 5, 25 is a correct answer
22 Correct 18 ms 23788 KB n = 2, 122 is a correct answer
23 Correct 17 ms 23788 KB n = 10, 117 is a correct answer
24 Correct 18 ms 23864 KB n = 10, 336 is a correct answer
25 Correct 18 ms 23788 KB n = 10, 438 is a correct answer
26 Correct 17 ms 23788 KB n = 10, 206 is a correct answer
27 Correct 17 ms 23788 KB n = 10, 636 is a correct answer
28 Correct 17 ms 23788 KB n = 4, 2399 is a correct answer
29 Correct 17 ms 23788 KB n = 10, 10992 is a correct answer
30 Correct 19 ms 23788 KB n = 10, 3112 is a correct answer
31 Execution timed out 2067 ms 23808 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23916 KB n = 4, 80 is a correct answer
2 Correct 17 ms 23788 KB n = 9, 110 is a correct answer
3 Correct 16 ms 23936 KB n = 4, 21 is a correct answer
4 Correct 16 ms 23916 KB n = 3, 4 is a correct answer
5 Correct 17 ms 23788 KB n = 2, 62 is a correct answer
6 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
7 Correct 16 ms 23788 KB n = 3, 29 is a correct answer
8 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
9 Correct 17 ms 23788 KB n = 2, 3 is a correct answer
10 Correct 16 ms 23788 KB n = 2, 2000000001 is a correct answer
11 Correct 17 ms 23788 KB n = 2, 3000000000 is a correct answer
12 Correct 17 ms 23788 KB n = 3, 3000000000 is a correct answer
13 Correct 16 ms 23788 KB n = 3, 3000000000 is a correct answer
14 Correct 17 ms 23788 KB n = 4, 3000000001 is a correct answer
15 Correct 16 ms 23788 KB n = 4, 4000000000 is a correct answer
16 Correct 16 ms 23788 KB n = 5, 4000000000 is a correct answer
17 Correct 17 ms 23788 KB n = 10, 1000000343 is a correct answer
18 Correct 19 ms 23788 KB n = 10, 3189 is a correct answer
19 Correct 18 ms 23788 KB n = 10, 7000000000 is a correct answer
20 Correct 16 ms 23788 KB n = 5, 12 is a correct answer
21 Correct 17 ms 23820 KB n = 5, 25 is a correct answer
22 Correct 18 ms 23788 KB n = 2, 122 is a correct answer
23 Correct 17 ms 23788 KB n = 10, 117 is a correct answer
24 Correct 18 ms 23864 KB n = 10, 336 is a correct answer
25 Correct 18 ms 23788 KB n = 10, 438 is a correct answer
26 Correct 17 ms 23788 KB n = 10, 206 is a correct answer
27 Correct 17 ms 23788 KB n = 10, 636 is a correct answer
28 Correct 17 ms 23788 KB n = 4, 2399 is a correct answer
29 Correct 17 ms 23788 KB n = 10, 10992 is a correct answer
30 Correct 19 ms 23788 KB n = 10, 3112 is a correct answer
31 Execution timed out 2067 ms 23808 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23916 KB n = 4, 80 is a correct answer
2 Correct 17 ms 23788 KB n = 9, 110 is a correct answer
3 Correct 16 ms 23936 KB n = 4, 21 is a correct answer
4 Correct 16 ms 23916 KB n = 3, 4 is a correct answer
5 Correct 17 ms 23788 KB n = 2, 62 is a correct answer
6 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
7 Correct 16 ms 23788 KB n = 3, 29 is a correct answer
8 Correct 16 ms 23788 KB n = 2, 3 is a correct answer
9 Correct 17 ms 23788 KB n = 2, 3 is a correct answer
10 Correct 16 ms 23788 KB n = 2, 2000000001 is a correct answer
11 Correct 17 ms 23788 KB n = 2, 3000000000 is a correct answer
12 Correct 17 ms 23788 KB n = 3, 3000000000 is a correct answer
13 Correct 16 ms 23788 KB n = 3, 3000000000 is a correct answer
14 Correct 17 ms 23788 KB n = 4, 3000000001 is a correct answer
15 Correct 16 ms 23788 KB n = 4, 4000000000 is a correct answer
16 Correct 16 ms 23788 KB n = 5, 4000000000 is a correct answer
17 Correct 17 ms 23788 KB n = 10, 1000000343 is a correct answer
18 Correct 19 ms 23788 KB n = 10, 3189 is a correct answer
19 Correct 18 ms 23788 KB n = 10, 7000000000 is a correct answer
20 Correct 16 ms 23788 KB n = 5, 12 is a correct answer
21 Correct 17 ms 23820 KB n = 5, 25 is a correct answer
22 Correct 18 ms 23788 KB n = 2, 122 is a correct answer
23 Correct 17 ms 23788 KB n = 10, 117 is a correct answer
24 Correct 18 ms 23864 KB n = 10, 336 is a correct answer
25 Correct 18 ms 23788 KB n = 10, 438 is a correct answer
26 Correct 17 ms 23788 KB n = 10, 206 is a correct answer
27 Correct 17 ms 23788 KB n = 10, 636 is a correct answer
28 Correct 17 ms 23788 KB n = 4, 2399 is a correct answer
29 Correct 17 ms 23788 KB n = 10, 10992 is a correct answer
30 Correct 19 ms 23788 KB n = 10, 3112 is a correct answer
31 Execution timed out 2067 ms 23808 KB Time limit exceeded
32 Halted 0 ms 0 KB -