Submission #344990

# Submission time Handle Problem Language Result Execution time Memory
344990 2021-01-06T20:56:44 Z pggp Boxes with souvenirs (IOI15_boxes) C++14
10 / 100
16 ms 364 KB
#include <bits/stdc++.h>

using namespace std;

long long delivery(int N, int K, int L, int p[]){
	vector < int > positions;
	for (int i = 0; i < N; ++i)
	{
		positions.push_back(p[i]);
	}
	long long ans = 99999999999;
	for(int to_left = 0; to_left <= N; to_left++){
		vector < int > l, r;
		for (int i = 0; i < to_left; ++i)
		{
			l.push_back(positions[i]);
		}
		for (int i = to_left; i < N; ++i)
		{
			r.push_back(positions[i]);
		}
		long long l_cost = 0;
		long long r_cost = 0;
		for (int i = 0; i < l.size(); ++i)
		{
			if(i % K == K - 1 or i == l.size() - 1){
				l_cost += min(2 * l[i], L);
			}
		}
		sort(r.begin(), r.end(), greater< int >());
		for (int i = 0; i < r.size(); ++i)
		{
			if(i % K == K - 1 or i == r.size() - 1){
				r_cost += min(2 * (L - r[i]), L);
			}
		}

		//cout << ans << " " << l_cost << " " << r_cost << endl;

		ans = min(ans, l_cost + r_cost);
	}
	return ans;
}

Compilation message

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:24:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |   for (int i = 0; i < l.size(); ++i)
      |                   ~~^~~~~~~~~~
boxes.cpp:26:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |    if(i % K == K - 1 or i == l.size() - 1){
      |                         ~~^~~~~~~~~~~~~~~
boxes.cpp:31:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |   for (int i = 0; i < r.size(); ++i)
      |                   ~~^~~~~~~~~~
boxes.cpp:33:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |    if(i % K == K - 1 or i == r.size() - 1){
      |                         ~~^~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 16 ms 364 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 14 ms 364 KB Output is correct
2 Correct 13 ms 364 KB Output is correct
3 Correct 12 ms 364 KB Output is correct
4 Correct 13 ms 364 KB Output is correct
5 Correct 12 ms 364 KB Output is correct
6 Correct 13 ms 364 KB Output is correct
7 Correct 16 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Incorrect 1 ms 364 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 16 ms 364 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 16 ms 364 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 16 ms 364 KB Output isn't correct
3 Halted 0 ms 0 KB -