제출 #1332610

#제출 시각아이디문제언어결과실행 시간메모리
1332610Gabriel선물상자 (IOI15_boxes)C++20
20 / 100
3 ms356 KiB
#include "boxes.h"
#include "bits/stdc++.h"
using namespace std;
long long delivery(int n, int k, int l, int P[]){
    long long r = LLONG_MAX, _ltimoi = 0, _ltimod = 0;
    vector<int> p;
    for(int i = 0; i < n; i++) if(P[i] != 0) p.push_back(P[i]);
    n = p.size();
    if(n == 0) return 0;
    vector<long long> Izquierda(n), Derecha(n);
    for(int i = 0; i < n; i++){
        Izquierda[i] = (long long)(p[i] + min(p[i], l - p[i])) + _ltimoi;
        Derecha[n - i - 1] = (long long)(l - p[n - i - 1] + min(p[n - i - 1], l - p[n - i - 1])) + _ltimod;
        if((i + 1) % k == 0){
            _ltimoi = Izquierda[i];
            _ltimod = Derecha[n - i - 1];
        }
    }
    Derecha.push_back(0);
    for(int i = 0; i < n; i++){
        r = min(r, Izquierda[i] + Derecha[i + 1]);
        cerr<<Izquierda[i]<<" "<<Derecha[i + 1]<<"\n";
    }
    cerr<<"0 "<<Derecha[0]<<"\n";
    r = min(r, Derecha[0]);
    cerr<<r;
    return r;
}
#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...