Submission #134757

#TimeUsernameProblemLanguageResultExecution timeMemory
134757tinjyuBoxes with souvenirs (IOI15_boxes)C++14
0 / 100
10 ms504 KiB
#include "boxes.h" #include <iostream> long long int n,k,l,sum[10000005][2]; using namespace std; long long delivery(int N, int K, int L, int p[]) { int mid=n; n=N; k=K; l=L; for(int i=0;i<n;i++) { if(l/2<=p[i+1]) { mid=p[i]; break; } } long long tmp=0; for(int i=mid-1;i>=0;i--) { if((i-mid)%k==0)tmp+=p[i]; sum[i][0]=tmp; } for(int i=mid;i<n;i++) { if((i-mid)%k==0)tmp+=p[i]; sum[i][1]=tmp; } long long int ans=sum[mid-1][0]*2+sum[n-1][1]*2; for(int i=mid;i>=mid-k && i>=0;i--) { tmp=sum[i][0]*2; if(i+k<n)tmp+=sum[i+k][1]*2; tmp+=l; ans=min(tmp,ans); } return ans; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:6:13: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
     int mid=n;
             ^
#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...