Submission #800695

#TimeUsernameProblemLanguageResultExecution timeMemory
800695firewaterBoxes with souvenirs (IOI15_boxes)C++14
20 / 100
1 ms212 KiB
#include "boxes.h" #include <stdio.h> #include <stdlib.h> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define ll long long using namespace std; #define N 100100 ll n,k,m,ans,x,now1,now2,nn,a[N],b[N]; long long delivery(int NN, int K, int L, int ppp[]) { nn=NN; k=K; for(ll i=1;i<=nn;++i){ x=ppp[i-1]; if(x<L-x)a[++n]=x; else b[++m]=L-x; } sort(a+1,a+1+n); sort(b+1,b+1+m); now1=now2=0; while(n-now1>=k){ now1=now1+k; ans+=a[now1]*2; } while(m-now2>=k){ now2=now2+k; ans+=b[now2]*2; } if(now1>=n&&now2>=m)return ans; if(now1>=n)return ans+b[m]*2; if(now2>=m)return ans+a[n]*2; x=n-now1+m-now2; if(x<=k){ ans+=min(a[n]*2+b[m]*2,1ll*L); } else{ ans+=min(min(1ll*L*2,a[n]*2+b[m]*2),min(a[now1+(x-k)]*2+L,b[now2+(x-k)]*2+L)); } 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...