제출 #1032576

#제출 시각아이디문제언어결과실행 시간메모리
1032576socpite선물상자 (IOI15_boxes)C++17
0 / 100
38 ms78928 KiB
#include "boxes.h" #include<bits/stdc++.h> using namespace std; const int maxn = 1e7+5; const long long INF = 1e18; long long cnt[maxn], ans[maxn], dp[maxn]; long long delivery(int N, int K, int L, int p[]) { memset(dp, 0, sizeof(dp)); sort(p, p+N); long long re = 0; for(int i = 0; i < N; i++)re += 2*min(p[i], L - p[i]); for(int i = 0; i < N; i++)N -= (p[i] == 0); if(N == 0)return 0; int crr = 0; for(int i = 0; i < N; i++){ if(p[i]==0)continue; dp[crr++%K] += p[i] + min(p[i], L - p[i]); ans[crr] = dp[(crr-1)%K]; } memset(dp, 0, sizeof(dp)); crr = 0; for(int i = N-1; i >= 0; i--){ if(p[i]==0)continue; dp[crr++%K] += L - p[i] + min(p[i], L - p[i]); re = min(re, dp[(crr-1)%K] + ans[N - crr]); } return re; }
#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...