Submission #339538

#TimeUsernameProblemLanguageResultExecution timeMemory
339538bigDuckBoxes with souvenirs (IOI15_boxes)C++14
0 / 100
1 ms364 KiB
#include "boxes.h" #include<bits/stdc++.h> using namespace std; #define INIT ios_base :: sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); #define mp make_pair #define pb push_back #define ft first #define sc second #define ll long long #define pii pair<int, int> #define count_bits __builtin_popcount #define int ll int p1[10000010], p2[10000010]; long long delivery(int32_t N, int32_t K, int32_t L, int32_t p[]) { int n=N, k=K, l=L; int ac=k; int cr=0; for(int i=0; i<n; i++){ ac--; if(ac==0){ cr=cr+p[i]*2; p1[i]=cr; ac=k; } else{ p1[i]=cr+p[i]*2; } } cr=0; ac=k; for(int i=n; i>=0; i--){ ac--; if(ac==0){ cr=cr+(l-p[i])*2; p2[i]=cr; ac=k; } else{ p2[i]=cr+(l-p[i])*2; } } int mn=1e17; mn=mn*10; for(int i=0; i<n; i++){ mn=min(p1[i]+p2[i+1], mn); } for(int i=0; i<n; i++){ if( (i-k)>=0 ){ mn=min(p2[i+1]+p1[i-k]+l, mn); } else{ mn=min(p2[i+1]+l, mn); } } return mn; }
#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...