Submission #139992

#TimeUsernameProblemLanguageResultExecution timeMemory
139992TAMREFBoxes with souvenirs (IOI15_boxes)C++11
10 / 100
4 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; for(int i = N; i--;){ de[i] = L - p[i]; if(i + k < N) de[i] += de[i+k]; } for(; s < N; s++){ ds[s] = p[s]; if(s >= k) ds[s] += ds[s-k]; if(s > e) e = s; while(e+1 < N && ll(e-s+k-1)/k * L + 2ll * de[e+1] > ll(e-s+k)/k * L + 2ll * de[e+2]) ++e; t = min(t, 2ll * (ds[s] + de[e+1]) + ll(e-s+k-1)/k * L); } return t; }

Compilation message (stderr)

boxes.cpp: In function 'll delivery(int, int, int, int*)':
boxes.cpp:15:9: warning: unused variable 'si' [-Wunused-variable]
     int si = s;
         ^~
#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...