Submission #1217980

#TimeUsernameProblemLanguageResultExecution timeMemory
1217980viduxBoxes with souvenirs (IOI15_boxes)C++17
20 / 100
0 ms328 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> pll; typedef vector<ll> vl; const ll LLINF = 1e18; long long delivery(int n, int k, int l, int p[]) { vl a(n); for (int i = 0; i < n; i++) a[i] = p[i]; a.push_back(l); vl tr(n+1); ll tot = 0; for (int i = n-1; i >= 0; i--) { tot += a[i+1]-a[i]; tr[i] = tot + min(a[i], a[n]-a[i]); if ((n-i)%k==0) tot += min(a[i], a[n]-a[i]) + a[n]-a[i]; } tot = 0; ll ans = tr[0]; for (int i = 0; i < n; i++) { tot += a[i] - (i ? a[i-1] : 0); ll tl = tot + min(a[i], a[n]-a[i]); ans = min(ans, tl+tr[i+1]); if ((i+1)%k==0) tot += min(a[i], a[n]-a[i]) + a[i]; } //cout << ans << endl; 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...