Submission #1203382

#TimeUsernameProblemLanguageResultExecution timeMemory
1203382AMel0nBoxes with souvenirs (IOI15_boxes)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define FOR(i,N) for(ll i = 0; i < N; i++) #define all(x) (x).begin(), (x).end() // #define F first // #define S second #include "boxes.h" ll delivery(int N, int K, int L, int p[]) { vector<ll> dpL(N, INT_MAX), dpR(N, INT_MAX); FOR(i, N) { if (p[i] <= L / 2) { if (i >= K) dpL[i] = min(dpL[i], dpL[i-K] + 2ll * p[i]); else dpL[i] = min(dpL[i], 2ll * p[i]); // cout << "L " << i << ' ' << dpL[i] << endl; } else { if (i + K <= N) dpR[N-i] = min(dpR[N-i], dpR[N-i-K] + 2ll * (L - p[i])); else dpR[N-i] = min(dpR[N-i], 2ll * (L - p[i])); // cout << "R " << i << ' ' << dpR[N-i] << ' ' << 2ll * (L - p[i]) << endl; } } ll mxL = -1, mxR = -1; FOR(i, N) { if (dpL[i] != INT_MAX) mxL = max(mxL, dpL[i]); if (dpR[i] != INT_MAX) mxR = max(mxR, dpR[i]); } return mxL + mxR; } // signed main() { // cin.tie(0); ios::sync_with_stdio(false); // }
#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...