답안 #1062872

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1062872 2024-08-17T11:24:58 Z nvujica Shortcut (IOI16_shortcut) C++14
0 / 100
20 ms 600 KB
#include <bits/stdc++.h>
#include "shortcut.h"
#define ll long long

using namespace std;

const int maxn = 505;
const ll inf = (1LL << 60);

int n, c;
vector <int> l;
vector <int> d;
ll dpoc[maxn];

ll f(int a, int b){
    ll maks = 0;

    for(int x = 0; x < n; x++){
        for(int y = x + 1; y < n; y++){
            ll dxa = abs(dpoc[x] - dpoc[a]);
            ll dxb = abs(dpoc[x] - dpoc[b]);
            ll dya = abs(dpoc[y] - dpoc[a]);
            ll dyb = abs(dpoc[y] - dpoc[b]);
            ll dxy = abs(dpoc[x] - dpoc[y]);
            dxa = min(dxa, dxb + c);
            dxb = min(dxb, dxa + c);
            dya = min(dya, dyb + c);
            dyb = min(dyb, dya + c);

            // maks = max(maks, dxy + d[x] + d[y]);
            maks = max(maks, min(dxy, min(dxa + dya, dxb + dyb)) + d[x] + d[y]);
            // if(maks == 110) cout << x << ' ' << y << ' ' << dxa << ' ' << dya << endl;
        }
    }

    return maks;
}

ll find_shortcut(int _n, vector<int> _l, vector<int> _d, int _c){
    n = _n;
    l = _l;
    d = _d;
    c = _c;

    for(int i = 1; i < n; i++){
        dpoc[i] = dpoc[i - 1] + l[i - 1];
    }

    ll ans = inf;

    for(int a = 0; a < n; a++){
        int lo = 0, hi = n - 1;

        while(lo < hi){
            int mid = (lo + hi) / 2;
            
            ll maks1 = f(a, mid);
            ll maks2 = f(a, mid + 1);
            ans = min(ans, maks1);
            ans = min(ans, maks2);

            if(maks1 <= maks2) hi = mid;
            else lo = mid + 1;

            // cout << a << ' ' << b << ' ' << maks << endl;

            // ans = min(ans, maks);
        }

        ans = min(ans, f(a, hi));
    }
    
    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 600 KB n = 4, 80 is a correct answer
2 Correct 0 ms 348 KB n = 9, 110 is a correct answer
3 Correct 0 ms 348 KB n = 4, 21 is a correct answer
4 Correct 0 ms 348 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 348 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 1 ms 348 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 360 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 348 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 348 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 348 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 348 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 348 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 348 KB n = 5, 12 is a correct answer
21 Correct 0 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 0 ms 348 KB n = 10, 117 is a correct answer
24 Correct 0 ms 348 KB n = 10, 336 is a correct answer
25 Correct 0 ms 348 KB n = 10, 438 is a correct answer
26 Correct 0 ms 348 KB n = 10, 206 is a correct answer
27 Correct 0 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 0 ms 348 KB n = 10, 10992 is a correct answer
30 Correct 0 ms 348 KB n = 10, 3112 is a correct answer
31 Correct 20 ms 348 KB n = 100, 51000000001 is a correct answer
32 Incorrect 3 ms 348 KB n = 50, incorrect answer: jury 197881272 vs contestant 197881348
33 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 600 KB n = 4, 80 is a correct answer
2 Correct 0 ms 348 KB n = 9, 110 is a correct answer
3 Correct 0 ms 348 KB n = 4, 21 is a correct answer
4 Correct 0 ms 348 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 348 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 1 ms 348 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 360 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 348 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 348 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 348 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 348 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 348 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 348 KB n = 5, 12 is a correct answer
21 Correct 0 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 0 ms 348 KB n = 10, 117 is a correct answer
24 Correct 0 ms 348 KB n = 10, 336 is a correct answer
25 Correct 0 ms 348 KB n = 10, 438 is a correct answer
26 Correct 0 ms 348 KB n = 10, 206 is a correct answer
27 Correct 0 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 0 ms 348 KB n = 10, 10992 is a correct answer
30 Correct 0 ms 348 KB n = 10, 3112 is a correct answer
31 Correct 20 ms 348 KB n = 100, 51000000001 is a correct answer
32 Incorrect 3 ms 348 KB n = 50, incorrect answer: jury 197881272 vs contestant 197881348
33 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 600 KB n = 4, 80 is a correct answer
2 Correct 0 ms 348 KB n = 9, 110 is a correct answer
3 Correct 0 ms 348 KB n = 4, 21 is a correct answer
4 Correct 0 ms 348 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 348 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 1 ms 348 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 360 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 348 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 348 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 348 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 348 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 348 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 348 KB n = 5, 12 is a correct answer
21 Correct 0 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 0 ms 348 KB n = 10, 117 is a correct answer
24 Correct 0 ms 348 KB n = 10, 336 is a correct answer
25 Correct 0 ms 348 KB n = 10, 438 is a correct answer
26 Correct 0 ms 348 KB n = 10, 206 is a correct answer
27 Correct 0 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 0 ms 348 KB n = 10, 10992 is a correct answer
30 Correct 0 ms 348 KB n = 10, 3112 is a correct answer
31 Correct 20 ms 348 KB n = 100, 51000000001 is a correct answer
32 Incorrect 3 ms 348 KB n = 50, incorrect answer: jury 197881272 vs contestant 197881348
33 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 600 KB n = 4, 80 is a correct answer
2 Correct 0 ms 348 KB n = 9, 110 is a correct answer
3 Correct 0 ms 348 KB n = 4, 21 is a correct answer
4 Correct 0 ms 348 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 348 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 1 ms 348 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 360 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 348 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 348 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 348 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 348 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 348 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 348 KB n = 5, 12 is a correct answer
21 Correct 0 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 0 ms 348 KB n = 10, 117 is a correct answer
24 Correct 0 ms 348 KB n = 10, 336 is a correct answer
25 Correct 0 ms 348 KB n = 10, 438 is a correct answer
26 Correct 0 ms 348 KB n = 10, 206 is a correct answer
27 Correct 0 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 0 ms 348 KB n = 10, 10992 is a correct answer
30 Correct 0 ms 348 KB n = 10, 3112 is a correct answer
31 Correct 20 ms 348 KB n = 100, 51000000001 is a correct answer
32 Incorrect 3 ms 348 KB n = 50, incorrect answer: jury 197881272 vs contestant 197881348
33 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 600 KB n = 4, 80 is a correct answer
2 Correct 0 ms 348 KB n = 9, 110 is a correct answer
3 Correct 0 ms 348 KB n = 4, 21 is a correct answer
4 Correct 0 ms 348 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 348 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 1 ms 348 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 360 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 348 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 348 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 348 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 348 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 348 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 348 KB n = 5, 12 is a correct answer
21 Correct 0 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 0 ms 348 KB n = 10, 117 is a correct answer
24 Correct 0 ms 348 KB n = 10, 336 is a correct answer
25 Correct 0 ms 348 KB n = 10, 438 is a correct answer
26 Correct 0 ms 348 KB n = 10, 206 is a correct answer
27 Correct 0 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 0 ms 348 KB n = 10, 10992 is a correct answer
30 Correct 0 ms 348 KB n = 10, 3112 is a correct answer
31 Correct 20 ms 348 KB n = 100, 51000000001 is a correct answer
32 Incorrect 3 ms 348 KB n = 50, incorrect answer: jury 197881272 vs contestant 197881348
33 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 600 KB n = 4, 80 is a correct answer
2 Correct 0 ms 348 KB n = 9, 110 is a correct answer
3 Correct 0 ms 348 KB n = 4, 21 is a correct answer
4 Correct 0 ms 348 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 348 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 1 ms 348 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 360 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 348 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 348 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 348 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 348 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 348 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 348 KB n = 5, 12 is a correct answer
21 Correct 0 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 0 ms 348 KB n = 10, 117 is a correct answer
24 Correct 0 ms 348 KB n = 10, 336 is a correct answer
25 Correct 0 ms 348 KB n = 10, 438 is a correct answer
26 Correct 0 ms 348 KB n = 10, 206 is a correct answer
27 Correct 0 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 0 ms 348 KB n = 10, 10992 is a correct answer
30 Correct 0 ms 348 KB n = 10, 3112 is a correct answer
31 Correct 20 ms 348 KB n = 100, 51000000001 is a correct answer
32 Incorrect 3 ms 348 KB n = 50, incorrect answer: jury 197881272 vs contestant 197881348
33 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 600 KB n = 4, 80 is a correct answer
2 Correct 0 ms 348 KB n = 9, 110 is a correct answer
3 Correct 0 ms 348 KB n = 4, 21 is a correct answer
4 Correct 0 ms 348 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 348 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 1 ms 348 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 360 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 348 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 348 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 348 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 348 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 348 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 348 KB n = 5, 12 is a correct answer
21 Correct 0 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 0 ms 348 KB n = 10, 117 is a correct answer
24 Correct 0 ms 348 KB n = 10, 336 is a correct answer
25 Correct 0 ms 348 KB n = 10, 438 is a correct answer
26 Correct 0 ms 348 KB n = 10, 206 is a correct answer
27 Correct 0 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 0 ms 348 KB n = 10, 10992 is a correct answer
30 Correct 0 ms 348 KB n = 10, 3112 is a correct answer
31 Correct 20 ms 348 KB n = 100, 51000000001 is a correct answer
32 Incorrect 3 ms 348 KB n = 50, incorrect answer: jury 197881272 vs contestant 197881348
33 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 600 KB n = 4, 80 is a correct answer
2 Correct 0 ms 348 KB n = 9, 110 is a correct answer
3 Correct 0 ms 348 KB n = 4, 21 is a correct answer
4 Correct 0 ms 348 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 348 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 1 ms 348 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 360 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 348 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 348 KB n = 5, 4000000000 is a correct answer
17 Correct 0 ms 348 KB n = 10, 1000000343 is a correct answer
18 Correct 0 ms 348 KB n = 10, 3189 is a correct answer
19 Correct 0 ms 348 KB n = 10, 7000000000 is a correct answer
20 Correct 0 ms 348 KB n = 5, 12 is a correct answer
21 Correct 0 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 0 ms 348 KB n = 10, 117 is a correct answer
24 Correct 0 ms 348 KB n = 10, 336 is a correct answer
25 Correct 0 ms 348 KB n = 10, 438 is a correct answer
26 Correct 0 ms 348 KB n = 10, 206 is a correct answer
27 Correct 0 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 0 ms 348 KB n = 10, 10992 is a correct answer
30 Correct 0 ms 348 KB n = 10, 3112 is a correct answer
31 Correct 20 ms 348 KB n = 100, 51000000001 is a correct answer
32 Incorrect 3 ms 348 KB n = 50, incorrect answer: jury 197881272 vs contestant 197881348
33 Halted 0 ms 0 KB -