Submission #139999

#TimeUsernameProblemLanguageResultExecution timeMemory
139999TAMREFBoxes with souvenirs (IOI15_boxes)C++11
10 / 100
8 ms376 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; using ll = long long; ll *ds, *de; ll delivery(int N, int K, int L, int p[]) { int s = 0, e = N - 1, k = K; while(s <= e && p[s] == 0) ++s; ds = new ll[N+1]; de = new ll[N+1]; if(s > e) return 0; ll t = LLONG_MAX; int si = s; e = s; de[N] = 0; for(int i = N; i--;){ de[i] = L - p[i]; if(i + k < N) de[i] += de[i+k]; } t = 2ll * de[si]; for(; s < N; s++){ ds[s] = p[s]; if(s-k >= si) ds[s] += ds[s-k]; for(e = s; e < N; e++) t = min(t, 2ll * (ds[s] + de[e+1]) + ll(e-s+k-1)/k * L); } //for(int i = 0; i <= N; i++) cout << ds[i] << ' '; cout << endl; //for(int i = 0; i <= N; i++) cout << de[i] << ' '; cout << endl; return t; }
#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...