제출 #1192691

#제출 시각아이디문제언어결과실행 시간메모리
1192691Joon_Yorigami선물상자 (IOI15_boxes)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; ll delivery(int n, int k, int l, int* positions) { vector<ll> pos; for(int i=0;i<n;i++) { pos.push_back(positions[i]); } sort(pos.begin(),pos.end()); vector<ll> dpleft(n+1,0); vector<ll> dpright(n+1,0); ll j; for(int i=0;i<n;i++) { dpleft[i+1]=dpleft[max(0,i-k+1)]+pos[i]*2; } for(int i=0;i<n;i++) { dpright[n-i-1]=dpright[min(n,n-i-1+k)]+(l-pos[n-i-1])*2; } ll ans_no_full_trip; ans_no_full_trip=LONG_LONG_MAX; for(int i=0;i<=n;i++) { ans_no_full_trip=min(ans_no_full_trip,dpleft[i]+dpright[i]); } ll ans_one_full_trip; ans_one_full_trip=LONG_LONG_MAX; for(int i=0;i<=n-k;i++) { ans_one_full_trip=min(ans_one_full_trip,dpleft[i]+dpright[i+k]+l); } return (ans_no_full_trip,ans_one_full_trip); } /* int main() { int n,k,l,owo; int positions[100000]; cin >> n >> k >> l; for(ll i=0;i<n;i++) { cin >> owo; positions[i]=owo; } cout << delivery(n,k,l,positions) << 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...