Submission #26920

#TimeUsernameProblemLanguageResultExecution timeMemory
26920szawinisBoxes with souvenirs (IOI15_boxes)C++14
10 / 100
2 ms376 KiB
#include <bits/stdc++.h>
#include "boxes.h"
using namespace std;

vector<long long> lf, rg;
long long delivery(int N, int K, int L, int p[]) {
	for(int i = 0; i < N && p[i] <= L/2; i++) lf.push_back(2ll * p[i]);
	for(int i = N-1; i >= 0 && p[i] > L/2; i--) rg.push_back(2ll * (L-p[i]));
	reverse(rg.begin(), rg.end());
	for(int i = K; i < lf.size(); i++) lf[i] += lf[i-K];
	for(int i = K; i < rg.size(); i++) rg[i] += rg[i-K];
	long long ans = (lf.empty() ? 0 :lf.back()) + (rg.empty() ? 0 : rg.back());
	for(int i = 0; i < K; i++) {
		long long res = (i < lf.size() ? lf[lf.size()-1-i] : 0) + (K-i < rg.size() ? rg[rg.size()-1-(K-i)] : 0) + L;
		ans = min(res, ans);
	}
	return ans;
}

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:10:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = K; i < lf.size(); i++) lf[i] += lf[i-K];
                 ~~^~~~~~~~~~~
boxes.cpp:11:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = K; i < rg.size(); i++) rg[i] += rg[i-K];
                 ~~^~~~~~~~~~~
boxes.cpp:14:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   long long res = (i < lf.size() ? lf[lf.size()-1-i] : 0) + (K-i < rg.size() ? rg[rg.size()-1-(K-i)] : 0) + L;
                    ~~^~~~~~~~~~~
boxes.cpp:14:66: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   long long res = (i < lf.size() ? lf[lf.size()-1-i] : 0) + (K-i < rg.size() ? rg[rg.size()-1-(K-i)] : 0) + L;
                                                              ~~~~^~~~~~~~~~~
#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...