QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#149612#2785. Boxes with souvenirsAbdelmagedNour#Compile Error//C++20577b2023-08-24 22:53:212024-07-04 01:51:41

Judging History

你现在查看的是最新测评结果

  • [2024-07-04 01:51:41]
  • 评测
  • [2023-08-24 22:53:21]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
//#include "grader.cpp"
#include "boxes.h"

long long delivery(int N, int K, int L, int p[]){
    vector<long long>pre(N+1),suf(N+1);
    long long res=LLONG_MAX;
    for(int i=0;i<N;i++)pre[i+1]=2*p[i]+(i+1>=K?pre[i+1-K]:0);
    for(int i=N-1;i>=0;i--)suf[i]+=2*(L-p[i])+(i+K<N?suf[i+K]:0);
    for(int i=0;i<N;i++)res=min(res,pre[i]+suf[i]);
    for(int i=K-1;i<N;i++){
        int l=p[i-K+1],r=p[i];
        int cost=min({L,2*r,2*(L-l)});
        res=min(res,cost+pre[i-K+1]+suf[i+1]);
    }
    return res;
}

詳細信息