제출 #63617

#제출 시각아이디문제언어결과실행 시간메모리
63617MKopchev선물상자 (IOI15_boxes)C++14
100 / 100
535 ms196148 KiB
#include<bits/stdc++.h> using namespace std; const int nmax=1e7+42; long long l[nmax],r[nmax]; long long delivery(int N, int K, int L, int positions[]) { l[0]=0; for(int i=1;i<=K;i++) l[i]=positions[i-1]+min(positions[i-1],L-positions[i-1]); for(int i=K+1;i<=N;i++) l[i]=l[i-K]+positions[i-1]+min(positions[i-1],L-positions[i-1]); r[N+1]=0; for(int i=N;i>=1;i--) r[i]=r[min(i+K,N+1)]+L-positions[i-1]+min(positions[i-1],L-positions[i-1]); /* for(int i=0;i<=N+1;i++)cout<<l[i]<<" ";cout<<endl; for(int i=0;i<=N+1;i++)cout<<r[i]<<" ";cout<<endl; */ long long outp=1e18; for(int i=0;i<=N;i++) outp=min(outp,l[i]+r[i+1]); return outp; } /* int N=3,K=2,L=8; int arr[3]={1,2,5}; int main() { cout<<delivery(N,K,L,arr)<<endl; } */
#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...