Submission #1086549

#TimeUsernameProblemLanguageResultExecution timeMemory
1086549PacybwoahBoxes with souvenirs (IOI15_boxes)C++17
50 / 100
2033 ms25792 KiB
#include "boxes.h" #include<iostream> #include<vector> #include<algorithm> using namespace std; typedef long long ll; long long delivery(int N, int K, int L, int p[]) { vector<int> vec; for(int i = 0; i < N; i++) if(p[i] > 0) vec.push_back(p[i]); int n = vec.size(); if(n == 0) return 0; int k = K; auto calc = [&](int l, int r){ if(l > r) return 0; return min(min(vec[r] * 2, (L - vec[l]) * 2), L); }; vector<ll> dp(n + 1, 1e18); dp[0] = 0; for(int i = 1; i <= n; i++){ for(int j = 0; j < i; j++){ if(i - j <= k) dp[i] = min(dp[i], dp[j] + calc(j, i - 1)); } } return dp[n]; } // g++ -std=c++17 -o run -Wshadow -Wall -Wextra -fsanitize=undefined -fsanitize=address boxes.cpp grader.cpp

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:11:21: warning: conversion from 'std::vector<int>::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
   11 |     int n = vec.size();
      |             ~~~~~~~~^~
#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...