제출 #134772

#제출 시각아이디문제언어결과실행 시간메모리
134772tinjyuBoxes with souvenirs (IOI15_boxes)C++14
10 / 100
2 ms376 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[]) { n=N; k=K; l=L; int mid=n; for(int i=0;i<n;i++) { if(l/2<p[i]) { mid=i; break; } } long long tmp=0; for(int i=0;i<mid;i++) { if(i%k==0)tmp+=p[i]; //cout<<tmp<<" "; sum[i][0]=tmp; } //cout<<endl; tmp=0; for(int i=n-1;i>=mid;i--) { if((n-1-i)%k==0)tmp+=(l-p[i]); //cout<<tmp<<endl; sum[i][1]=tmp; } long long int ans=sum[mid-1][0]*2+sum[mid][1]*2; for(int i=mid-1;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; }

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

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