Submission #1151409

#TimeUsernameProblemLanguageResultExecution timeMemory
1151409AlgorithmWarriorBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
412 ms196376 KiB
#include <bits/stdc++.h> #include "boxes.h" #include <stdio.h> #include <stdlib.h> using namespace std; void minself(long long& x,long long val){ if(x>val) x=val; } void rev(int v[],int n){ int i; for(i=0;i<n-i-1;++i) swap(v[i],v[n-i-1]); } long long delivery(int N, int K, int L, int p[]) { vector<long long>dp1(N),dp2(N); int i; for(i=0;i<N;++i) dp1[i]=1LL*p[i]+1LL*min(p[i],L-p[i])+((i>=K)?dp1[i-K]:0); rev(p,N); for(i=0;i<N;++i){ p[i]=L-p[i]; dp2[i]=1LL*p[i]+1LL*min(p[i],L-p[i])+((i>=K)?dp2[i-K]:0); } long long ans=min(dp1[N-1],dp2[N-1]); for(i=0;i<N-1;++i) minself(ans,dp1[i]+dp2[N-2-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...