Submission #434925

#TimeUsernameProblemLanguageResultExecution timeMemory
434925alextodoranBoxes with souvenirs (IOI15_boxes)C++17
100 / 100
608 ms196048 KiB
/** ____ ____ ____ ____ ____ ||a |||t |||o |||d |||o || ||__|||__|||__|||__|||__|| |/__\|/__\|/__\|/__\|/__\| **/ #include <bits/stdc++.h> #include "boxes.h" using namespace std; typedef long long ll; ll delivery (int n, int k, int len, int pos[]) { ll lTime[n], rTime[n]; for(int i = 0; i < n; i++) { if(i - k >= 0) lTime[i] = lTime[i - k]; else lTime[i] = 0; lTime[i] += pos[i] * 2; } for(int i = n - 1; i >= 0; i--) { if(i + k < n) rTime[i] = rTime[i + k]; else rTime[i] = 0; rTime[i] += (len - pos[i]) * 2; } ll answer = LLONG_MAX; /// Taking no full circle for(int i = 0; i <= n; i++) { ll time = 0; if(i > 0) time += lTime[i - 1]; if(i < n) time += rTime[i]; answer = min(answer, time); } /// Taking one full circle for(int i = 0; i + k <= n; i++) { ll time = len; if(i > 0) time += lTime[i - 1]; if(i + k < n) time += rTime[i + k]; answer = min(answer, time); } return answer; }
#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...