Submission #999041

# Submission time Handle Problem Language Result Execution time Memory
999041 2024-06-15T05:33:50 Z 변재우(#10896) Shortcut (IOI16_shortcut) C++14
0 / 100
1 ms 4444 KB
#include "shortcut.h"
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

const int N=1000010;
const ll INF=1e16;
ll c, s[N], d[N], l[N], r[N];

ll find_shortcut(int n, vector<int> l_, vector<int> d_, int c_)
{
    ll ret=0;
    c=c_;
    for(int i=2; i<=n; i++) s[i]=s[i-1]+l_[i-2];
    for(int i=1; i<=n; i++) d[i]=d_[i-1];
    l[0]=INF;
    for(int i=1; i<=n; i++) l[i]=min(l[i-1], s[i]-d[i]);
    for(int i=n; i>=1; i--) r[i]=max(r[i+1], s[i]+d[i]);
    for(int i=1; i<n; i++) ret=max(ret, -l[i]+r[i+1]);
    for(int i=1; i<=n; i++) {
        for(int j=i+1; j<=n; j++) if(s[j]-s[i]>c) {
            ll tmp=0;
            ll lx=s[i]-l[i], rx=r[j]-s[j];
            tmp=max(tmp, lx+rx+c);
            for(int k=i; k<=j; k++) tmp=max(tmp, lx+d[k]+min(s[k]-s[i], c+s[j]-s[k]));
            for(int k=i; k<=j; k++) tmp=max(tmp, rx+d[k]+min(s[j]-s[k], c+s[k]-s[i]));
            for(int k=i; k<=j; k++) for(int l=k+1; l<=j; l++)
                tmp=max(tmp, d[k]+d[l]+min(s[l]-s[k], c+s[k]-s[i]+s[j]-s[l]));
            ret=min(ret, tmp);
        }
    }
    return ret;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB n = 4, 80 is a correct answer
2 Correct 1 ms 4444 KB n = 9, 110 is a correct answer
3 Correct 1 ms 4444 KB n = 4, 21 is a correct answer
4 Correct 1 ms 4444 KB n = 3, 4 is a correct answer
5 Incorrect 0 ms 4444 KB n = 2, incorrect answer: jury 62 vs contestant 71
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB n = 4, 80 is a correct answer
2 Correct 1 ms 4444 KB n = 9, 110 is a correct answer
3 Correct 1 ms 4444 KB n = 4, 21 is a correct answer
4 Correct 1 ms 4444 KB n = 3, 4 is a correct answer
5 Incorrect 0 ms 4444 KB n = 2, incorrect answer: jury 62 vs contestant 71
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB n = 4, 80 is a correct answer
2 Correct 1 ms 4444 KB n = 9, 110 is a correct answer
3 Correct 1 ms 4444 KB n = 4, 21 is a correct answer
4 Correct 1 ms 4444 KB n = 3, 4 is a correct answer
5 Incorrect 0 ms 4444 KB n = 2, incorrect answer: jury 62 vs contestant 71
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB n = 4, 80 is a correct answer
2 Correct 1 ms 4444 KB n = 9, 110 is a correct answer
3 Correct 1 ms 4444 KB n = 4, 21 is a correct answer
4 Correct 1 ms 4444 KB n = 3, 4 is a correct answer
5 Incorrect 0 ms 4444 KB n = 2, incorrect answer: jury 62 vs contestant 71
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB n = 4, 80 is a correct answer
2 Correct 1 ms 4444 KB n = 9, 110 is a correct answer
3 Correct 1 ms 4444 KB n = 4, 21 is a correct answer
4 Correct 1 ms 4444 KB n = 3, 4 is a correct answer
5 Incorrect 0 ms 4444 KB n = 2, incorrect answer: jury 62 vs contestant 71
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB n = 4, 80 is a correct answer
2 Correct 1 ms 4444 KB n = 9, 110 is a correct answer
3 Correct 1 ms 4444 KB n = 4, 21 is a correct answer
4 Correct 1 ms 4444 KB n = 3, 4 is a correct answer
5 Incorrect 0 ms 4444 KB n = 2, incorrect answer: jury 62 vs contestant 71
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB n = 4, 80 is a correct answer
2 Correct 1 ms 4444 KB n = 9, 110 is a correct answer
3 Correct 1 ms 4444 KB n = 4, 21 is a correct answer
4 Correct 1 ms 4444 KB n = 3, 4 is a correct answer
5 Incorrect 0 ms 4444 KB n = 2, incorrect answer: jury 62 vs contestant 71
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB n = 4, 80 is a correct answer
2 Correct 1 ms 4444 KB n = 9, 110 is a correct answer
3 Correct 1 ms 4444 KB n = 4, 21 is a correct answer
4 Correct 1 ms 4444 KB n = 3, 4 is a correct answer
5 Incorrect 0 ms 4444 KB n = 2, incorrect answer: jury 62 vs contestant 71
6 Halted 0 ms 0 KB -