Submission #61742

#TimeUsernameProblemLanguageResultExecution timeMemory
61742nvmdavaBoxes with souvenirs (IOI15_boxes)C++17
0 / 100
2 ms376 KiB
#include "boxes.h" #include<bits/stdc++.h> using namespace std; long long delivery(int n, int k, int l, int p[]) { vector<int> v; int i = 0; while(p[i] == 0){ i++; } v.insert(v.begin(),p + i, p + n); long long ans = 0; n = v.size(); int le = n; i = k - 1; while( i < n && p[i] * 2 < l){ ans += (long long)p[i]; le -= k; i += k; } int j = i - k; i = n - k; while(i > 0 && p[i] * 2 > l){ ans += (long long)l - p[i]; i -= k; le -= k; } i += k; ans *= 2; ans += le / k * l; le %= k; if(le != 0){ le = k - l; for(int t = 0; t <= le ;t++){ if(t > j || i +le - t >= n){ break; } ans = min(ans , ans - p[j] * 2 - (l - p[i]) * 2 + p[j - t] * 2 + (l - p[i + le - t]) * 2); } } return ans; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:17:13: warning: conversion to 'int' from 'std::vector<int>::size_type {aka long unsigned int}' may alter its value [-Wconversion]
  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...