# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1042134 | biserailieva | 선물상자 (IOI15_boxes) | C++14 | 1 ms | 348 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "boxes.h"
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
ll delivery(int n, int k, int l, int pos[]){
ll mid = (l+1)/2;
vector<ll> dp1, dp2;
dp1.push_back(0);
dp2.push_back(0);
for(int i = 0; i < n && pos[i]<=mid; i++){
if(i==0){
dp1.push_back(pos[i]*2);
continue;
}
if(i%k!=0)dp1.push_back(dp1.back()+2*abs(pos[i]-pos[i-1]));
else dp1.push_back(dp1.back()+(2*pos[i]));
}
for(int x = n-1; x >= 0 && pos[x]>=mid; x--){
if(x==n-1){
dp2.push_back((l-pos[x])*2);
continue;
}
ll ind = x-n+1;
if(ind%k!=0)dp2.push_back(dp2.back()+2*abs(pos[x]-pos[x+1]));
else dp2.push_back(dp2.back()+2*(l-pos[x]));
}
ll rez = 1e18;
for(int i = 0; i < dp1.size(); i++){
if(dp2.size()>n-i)rez=min(rez, dp1[i] + dp2[n-i]);
if(dp2.size()>n-i-k&&n-i-k>=0)rez=min(rez, dp1[i] + dp2[n-i-k] + l);
}
return rez;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |