제출 #97488

#제출 시각아이디문제언어결과실행 시간메모리
97488wilwxk선물상자 (IOI15_boxes)C++14
100 / 100
806 ms372420 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int MAXN=1e7+5;
ll mod[MAXN];
ll pre[MAXN], pos[MAXN];

ll delivery(int n, int k, int x, int v[]) {
    // if(n>1000001) return -1;
    for(int i=0; i<n; i++) {
        ll val=v[i]; val*=2; val=min(val, (ll) x);
        int ind=i%k;
        if(ind<0) return -1;
        mod[ind]+=val;
        pre[i]=mod[ind];
    }
    memset(mod, 0, sizeof(mod));
    for(int i=n-1; i>=0; i--) {
        ll val=x-v[i]; val*=2; val=min(val, (ll) x);
        int ind=i%k;
        if(ind<0) return -1;
        mod[ind]+=val;
        pos[i]=mod[ind];
    }
    ll resp=x; resp*=n;
    for(int i=0; i<n; i++) resp=min(resp, pre[i]+pos[i+1]);
    resp=min(resp, pos[0]);
    return resp;
}
#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...