Submission #1020810

# Submission time Handle Problem Language Result Execution time Memory
1020810 2024-07-12T10:12:30 Z vjudge1 Shortcut (IOI16_shortcut) C++17
0 / 100
0 ms 348 KB
#include <bits/stdc++.h>
#define ent '\n'

typedef long long ll;
using namespace std;
const int maxn = 2e5+12;

ll pref[maxn];
int n;

long long find_shortcut(int N, vector <int> l, vector <int> d, int c){
    n = N;
    for(int i=1;i<n;i++){
        pref[i] = pref[i-1] + l[i-1];
    }
    ll ans = 1e18;
    for(int x=0;x<n;x++){
        for(int y=x+1;y<n;y++){
            ll val = *max_element(d.begin(), d.end()), mn = 0;
            ll mxl = 0, mxr = 0;
            for(int i=0;i<=x;i++) {
                if(i != x) mxl = max(mxl, pref[x] - pref[i] + d[i]);
                val = max(val, pref[i] + d[i] + mn);
                mn = max(mn, d[i] - pref[i]);
            }
            mn = -pref[y];
            for(int i=y;i<n;i++){
                if(i != y) mxr = max(mxr, pref[i] - pref[y] + d[i]);
                val = max(val, pref[i] + d[i] + mn);
                mn = max(mn, d[i] - pref[i]);
            }
            ll cur = val;
            val = max(val, mxl + mxr + min(pref[y] - pref[x], (ll)c));
            for(int i=x;i<=y;i++){
                val = max(val, mxl + min(pref[i] - pref[x], pref[y] - pref[i] + c) + d[i]);
                val = max(val, mxr + min(pref[y] - pref[i], pref[i] - pref[x] + c) + d[i]);
                for(int j=i+1;j<=y;j++){
                    val = max(val, min(pref[j] - pref[i], pref[i] - pref[x] + pref[y] - pref[j] + c) + d[i] + d[j]);
                }
            }
            if(cur != val){
                ans = min(ans, val);
                break;
            }
        }
    }
    return ans;
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB n = 4, incorrect answer: jury 80 vs contestant 100
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB n = 4, incorrect answer: jury 80 vs contestant 100
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB n = 4, incorrect answer: jury 80 vs contestant 100
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB n = 4, incorrect answer: jury 80 vs contestant 100
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB n = 4, incorrect answer: jury 80 vs contestant 100
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB n = 4, incorrect answer: jury 80 vs contestant 100
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB n = 4, incorrect answer: jury 80 vs contestant 100
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB n = 4, incorrect answer: jury 80 vs contestant 100
2 Halted 0 ms 0 KB -