제출 #69547

#제출 시각아이디문제언어결과실행 시간메모리
69547yusufakeBoxes with souvenirs (IOI15_boxes)C++98
0 / 100
2 ms532 KiB
#include<bits/stdc++.h> using namespace std; #include "boxes.h" #define lint long long #define mx 10000007 #define mp make_pair #define st first #define nd second pair<lint,int> Q[mx],QQ[mx]; lint i,dp,t,l,r,ll,rr; lint delivery(int n, int k, int L, int *p){ Q[r++] = mp(0,-1); QQ[rr++] = mp(L+L,-1); for(i=0;i<n;i++){ if(Q[l].nd == i-k-1) l++; if(QQ[ll].nd == i-k-1) ll++; dp = Q[l].st + min(p[i]*2 , L); dp = min(dp , QQ[ll].st); if(i == n-1) return dp; for(; Q[r-1].st > dp ;) r--; t = dp + min(L , 2*(L-p[i+1])); for(; QQ[rr-1].st > t ;) rr--; Q[r++] = mp(dp,i); QQ[rr++] = mp(t,i); } return dp; }
#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...