Submission #725821

#TimeUsernameProblemLanguageResultExecution timeMemory
725821TheSahibBoxes with souvenirs (IOI15_boxes)C++17
20 / 100
1 ms308 KiB
#include "boxes.h" #include <bits/stdc++.h> #define ll long long using namespace std; const ll oo = 1e18; ll delivery(int N, int K, int M, int p[]) { vector<int> v; for (int i = 0; i < N; i++) { if(p[i] == 0) continue; v.push_back(p[i]); } N = v.size(); K = min(K, int(v.size())); if(N == 0) return 0; ll L[N + 1], R[N + 1]; L[0] = 0; for (int i = 1; i <= N; i++) { L[i] = L[(i - 1) / K * K] + v[i - 1] * 2; } R[0] = 0; for (int i = 1; i <= N; i++) { R[i] = R[(i - 1) / K * K] + (M - v[N - i]) * 2; } ll ans = oo; for (int i = 0; i <= N; i++) { ans = min(ans, L[i] + R[N - i]); if(N - i - K >= 0){ ans = min(ans, L[i] + R[N - i - K] + M); } } return ans; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:19:15: warning: conversion from 'std::vector<int>::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
   19 |     N = v.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...