Submission #1310273

#TimeUsernameProblemLanguageResultExecution timeMemory
1310273HoriaHaivas선물상자 (IOI15_boxes)C++20
100 / 100
337 ms196256 KiB
#include<bits/stdc++.h> #include "boxes.h" #define debug(x) cerr << #x << " " << x << "\n" #define debugs(x) cerr << #x << " " << x << " " #pragma GCC optimize("Ofast") #define int long long using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int range_rng(int l, int r) { return uniform_int_distribution<int>(l,r)(rng); } int pos[10000005]; int cw[10000005]; int ccw[10000005]; int delivery(signed N, signed K, signed L, signed positions[]) { int n,k,l,i,d,ans; n=N; k=K; l=L; for (i=0;i<n;i++) { if (i+1<=k) cw[i]=positions[i]*2; else cw[i]=cw[i-k]+positions[i]*2; } for (i=n-1;i>=0;i--) { d=(l-1)-positions[i]+1; if ((n-1)-i+1<=k) ccw[i]=d*2; else ccw[i]=ccw[i+k]+d*2; } ans=ccw[0]; for (i=0;i<n;i++) { ans=min(ans,cw[i]+ccw[i+1]); } for (i=0;i+k-1<n;i++) { if (i==0) ans=min(ans,l+ccw[i+k]); else ans=min(ans,cw[i-1]+l+ccw[i+k]); } 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...