Submission #164196

#TimeUsernameProblemLanguageResultExecution timeMemory
164196dantoh000Boxes with souvenirs (IOI15_boxes)C++14
100 / 100
655 ms271076 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #include "boxes.h" long long delivery(int N, int K, int L, int p[]) { ll l[N+2], r[N+2]; r[N+1] = 0; l[0] = 0; ll cost = 0; for (int i = 1; i <= N; i++){ l[i] = p[i-1]*2; if (i >= K){ l[i] += l[i-K]; } } cost = 0; for (int i = N; i >= 1; i--){ r[i] = (L-p[i-1])*2; if ((N-i+1) >= K){ r[i] += r[i+K]; } } l[N+1] = l[N]; r[0] = r[1]; ll ans = min(l[N+1],r[0]); for (int i = 1; i+K-1 <= N; i++){ //printf("%lld %lld +\n",l[i-1],r[i+K]); ans = min(ans,l[i-1]+r[i+K]+L); } for (int i = 0; i <= N; i++){ //printf("%d %lld %lld\n",i,l[i],r[i+1]); ans = min(ans,l[i]+r[i+1]); } return ans; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:9:8: warning: variable 'cost' set but not used [-Wunused-but-set-variable]
     ll cost = 0;
        ^~~~
#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...