Submission #344995

# Submission time Handle Problem Language Result Execution time Memory
344995 2021-01-06T21:11:43 Z pggp Boxes with souvenirs (IOI15_boxes) C++14
10 / 100
16 ms 388 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]);
	}
	sort(positions.begin(), positions.end());
	long long ans = 99999999999;
	for(int to_left = 0; to_left <= N; to_left++){
		vector < int > l, r;
		//cout << "L:" << endl;
		for (int i = 0; i < to_left; ++i)
		{
			l.push_back(positions[i]);
		//	cout << positions[i] << " ";
		}
		//cout << endl <<  "R:" << endl;
		for (int i = to_left; i < N; ++i)
		{
			r.push_back(positions[i]);
		//	cout << positions[i] << " ";
		}
		//cout << endl;
		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);
				//cout << "+" << min(2 * l[i], L) << endl;
			}
		}
		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:30:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |   for (int i = 0; i < l.size(); ++i)
      |                   ~~^~~~~~~~~~
boxes.cpp:32:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |    if(i % K == K - 1 or i == l.size() - 1){
      |                         ~~^~~~~~~~~~~~~~~
boxes.cpp:38:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |   for (int i = 0; i < r.size(); ++i)
      |                   ~~^~~~~~~~~~
boxes.cpp:40:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |    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 14 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 388 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 0 ms 364 KB Output is correct
5 Correct 0 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 14 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 14 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 14 ms 364 KB Output isn't correct
3 Halted 0 ms 0 KB -