Submission #1192966

#TimeUsernameProblemLanguageResultExecution timeMemory
1192966GabpBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
341 ms196148 KiB
#include<bits/stdc++.h>
using namespace std;

long long int delivery(int N, int K, int L, int positions[]) {
  vector<long long int> pref(N + 1, 0), suff(N + 1, 0);
  for (int i = N - 1; i >= 0; i--) {
    if (i + K < N) suff[i] = suff[i + K];
    suff[i] += min(L, 2 * (L - positions[i]));
  }
  
  long long int ans = 1e18;
  for (int i = 0; i <= N; i++) {
    ans = min(ans, pref[i] + suff[i]);
    if (i >= K && i < N) pref[i + 1] = pref[i + 1 - K];
    if (i < N) pref[i + 1] += 2 * positions[i];
  }
  
  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...