제출 #440634

#제출 시각아이디문제언어결과실행 시간메모리
440634ToroTNBoxes with souvenirs (IOI15_boxes)C++14
0 / 100
1 ms332 KiB
#include<bits/stdc++.h> using namespace std; #include "boxes.h" long long n,m,l,a[10000005],dp1[10000005],dp2[10000005],ans=1e18; long long delivery(int N, int K, int L, int p[]) { n=N; m=K; l=L; for(int i=1;i<=n;i++) { a[i]=p[i]; } for(int i=1;i<=min(n,m-1);i++) { dp1[i]=min(2*a[i],l); } for(int i=m;i<=n;i++) { dp1[i]=dp1[i-m]+min(2*a[i],l); } for(int i=n;i>=max(n-m+2,(long long)1);i--) { dp2[i]=min(2*(l-a[i]),l); } for(int i=n-m+1;i>=1;i--) { dp2[i]=dp2[i+m]+min(2*(l-a[i]),l); } /*for(int i=0;i<=n;i++) { printf("%lld %lld\n",dp1[i],dp2[i]); }*/ ans=min(ans,dp2[0]+dp1[n]); for(int i=1;i<n;i++) { ans=min(ans,dp1[i]+dp2[i+1]); } return ans; }

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

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:17:15: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   17 |     for(int i=m;i<=n;i++)
      |               ^
boxes.cpp:21:15: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   21 |     for(int i=n;i>=max(n-m+2,(long long)1);i--)
      |               ^
boxes.cpp:25:18: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   25 |     for(int i=n-m+1;i>=1;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...