제출 #1017482

#제출 시각아이디문제언어결과실행 시간메모리
1017482amirhoseinfar1385Boxes with souvenirs (IOI15_boxes)C++17
100 / 100
440 ms293776 KiB
#include "boxes.h"
#include<bits/stdc++.h>
using namespace std;
const int maxn=10000000+10;
long long ps[maxn],suf[maxn],n,k,res,l;


long long delivery(int N, int K, int L, int p[]) {
    n=N;
    k=K;
    l=L;
    for(int i=0;i<n;i++){
        long long ghabl=0;
        if(i>=k){
            ghabl=ps[i-k];
        }
        ps[i]=ghabl+p[i]+min(1ll*p[i],l-p[i]);
    }
    for(int i=n-1;i>=0;i--){
        long long ghabl=0;
        if(i+k<=n-1){
            ghabl=suf[i+k];
        }
        suf[i]=ghabl+(l-p[i])+min(1ll*p[i],l-p[i]);
   //     cout<<i<<" "<<ps[i]<<" "<<suf[i]<<endl;
    }
    res=min(suf[0],ps[n-1]);
    for(int i=0;i<n-1;i++){
        res=min(res,1ll*ps[i]+suf[i+1]);
    }
    return res;
}

컴파일 시 표준 에러 (stderr) 메시지

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:19:16: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   19 |     for(int i=n-1;i>=0;i--){
      |               ~^~
#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...