Submission #1293359

#TimeUsernameProblemLanguageResultExecution timeMemory
1293359goulthen선물상자 (IOI15_boxes)C++20
35 / 100
1 ms576 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define rep(i,a,b) for (int i = a; i <= b; i++) #define per(i,a,b) for (int i = a; i >= b; i--) #define pb push_back long long delivery(int N, int K, int L, int p[]) { vector<int> np; vector<ll> dp(K,0LL), dp2(K,0LL); per(i,N-1,0LL) np.pb(p[i]); per(i,N-1,0LL) np.pb(L-p[i]); rep(i,0,N-1) dp[i%K]+=np[i]; ll ans = 2*dp[0]; rep(r,N,2*N-1) { int l = (r)%N; dp[l%K] -= np[l]; dp2[r%K] += np[r]; ans = min(ans, 2*(dp[(l+1)%K] + dp2[r%K])); //cout << l << ' ' << 2*dp[(l+1)%K] << ' ' << 2*dp2[r%K] << '\n'; if(l == K-1) ans = min(ans, 2*dp[(l+1)%K] + L); if(l == N-K-1) ans = min(ans, 2*dp2[r%K] + L); } if(N==K) ans = min(ans, (ll)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...