Submission #827010

#TimeUsernameProblemLanguageResultExecution timeMemory
827010tolbiShortcut (IOI16_shortcut)C++17
0 / 100
1 ms212 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #include "shortcut.h" long long find_shortcut(int n, std::vector<int> _p, std::vector<int> d, int c) { vector<ll> pref; pref.push_back(0); for (int i = 0; i < n-1; i++){ pref.push_back(_p[i]); pref[i+1]+=pref[i]; } function<ll(int,int)> query; query = [&](int l, int r)->ll{ if (l==r) return 0ll; if (r<l) swap(l,r); int hueh = 0; if (l) hueh = pref[l-1]; return pref[r]-hueh; }; ll ans = LONG_LONG_MAX; for (int l = 0; l < n; l++){ for (int r = l+1; r < n; r++){ ll crr = 0; for (int i = 0; i < n; i++){ crr=max(crr,(ll)d[i]); for (int j = i+1; j < n; j++){ ll cr1 = query(i,j); ll cr2 = query(l,i)+query(r,j)+c; crr=max(crr,min(cr1,cr2)+(ll)d[i]+(ll)d[j]); } } ans=min(ans,crr); } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...