Submission #760840

#TimeUsernameProblemLanguageResultExecution timeMemory
760840Ahmed57선물상자 (IOI15_boxes)C++17
70 / 100
401 ms176388 KiB
#include <bits/stdc++.h> using namespace std; long long arr[1000001];long long dp[1000001],l,k,n; long long solve(int i){ if(i>=n){ return 0; } if(dp[i]!=-1)return dp[i]; long long c1 = 1e18; if(i==0){ for(long long e = 1;e<=k;e++){ c1 = min(c1,solve(i+e)+l); c1 = min(c1,solve(i+e)+2*arr[min(n-1,i+e-1)]); c1 = min(c1,solve(i+e)+2*(l-arr[i])); } } c1 = min(c1,solve(i+k)+l); c1 = min(c1,solve(i+k)+2*arr[min(n-1,i+k-1)]); c1 = min(c1,solve(i+k)+2*(l-arr[i])); return dp[i] = c1; } long long delivery(int N, int K, int L,int a[]) { for(int i = 0;i<N;i++){ dp[i] = -1 , arr[i] = a[i]; } l = L;k = K;n = N; return solve(0); }/* int main(){ cout<<delivery(3,2,8,{1,2,5}); } */

Compilation message (stderr)

boxes.cpp: In function 'long long int solve(int)':
boxes.cpp:14:28: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   14 |         c1 = min(c1,solve(i+e)+l);
      |                           ~^~
boxes.cpp:15:28: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   15 |         c1 = min(c1,solve(i+e)+2*arr[min(n-1,i+e-1)]);
      |                           ~^~
boxes.cpp:16:28: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   16 |         c1 = min(c1,solve(i+e)+2*(l-arr[i]));
      |                           ~^~
boxes.cpp:19:24: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   19 |     c1 = min(c1,solve(i+k)+l);
      |                       ~^~
boxes.cpp:20:24: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   20 |     c1 = min(c1,solve(i+k)+2*arr[min(n-1,i+k-1)]);
      |                       ~^~
boxes.cpp:21:24: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   21 |     c1 = min(c1,solve(i+k)+2*(l-arr[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...