Submission #373420

# Submission time Handle Problem Language Result Execution time Memory
373420 2021-03-04T14:13:19 Z luciocf Scales (IOI15_scales) C++14
55.5556 / 100
1 ms 364 KB
#include <bits/stdc++.h>
#include "scales.h"

using namespace std;

void init(int T)
{
    
}

int a[4], b[4];
bool tem[7];

void orderCoins()
{
	for (int i = 0; i < 7; i++)
		tem[i] = 0;

	a[1] = getLightest(1, 2, 3);
	a[3] = getHeaviest(1, 2, 3);
	
	tem[a[1]] = tem[a[3]] = 1;

	if (!tem[1]) a[2] = 1;
	else if (!tem[2]) a[2] = 2;
	else a[2] = 3;

	b[1] = getLightest(4, 5, 6);
	b[3] = getHeaviest(4, 5, 6);
	
	tem[b[1]] = tem[b[3]] = 1;

	if (!tem[4]) b[2] = 4;
	else if (!tem[5]) b[2] = 5;
	else b[2] = 6;

	if (getLightest(a[1], b[1], b[3]) == b[1]) swap(a, b);

	if (getLightest(a[2], b[1], b[3]) == a[2])
	{
		if (getLightest(b[1], a[3], b[3]) == a[3])
		{
			int ans[6] = {a[1], a[2], a[3], b[1], b[2], b[3]};
			answer(ans);
		}
		else
		{
			int x = getMedian(b[2], b[3], a[3]);

			if (x == b[3])
			{
				int ans[6] = {a[1], a[2], b[1], b[2], b[3], a[3]};
				answer(ans);
			}
			else if (x == a[3])
			{
				int ans[6] = {a[1], a[2], b[1], b[2], a[3], b[3]};
				answer(ans);
			}
			else
			{
				int ans[6] = {a[1], a[2], b[1], a[3], b[2], b[3]};
				answer(ans);
			}
		}
	}
	else
	{
		if (getLightest(a[2], b[2], b[3]) == a[2])
		{
			int x = getMedian(b[2], b[3], a[3]);

			if (x == b[3])
			{
				int ans[6] = {a[1], b[1], a[2], b[2], b[3], a[3]};
				answer(ans);
			}
			else if (x == a[3])
			{
				int ans[6] = {a[1], b[1], a[2], b[2], a[3], b[3]};
				answer(ans);
			}
			else
			{
				int ans[6] = {a[1], b[1], a[2], a[3], b[2], b[3]};
				answer(ans);
			}
		}
		else
		{
			int x = getMedian(a[2], a[3], b[3]);

			if (x == a[2])
			{
				int ans[6] = {a[1], b[1], b[2], b[3], a[2], a[3]};
				answer(ans);
			}
			else if (x == b[3])
			{
				int ans[6] = {a[1], b[1], b[2], a[2], b[3], a[3]};
				answer(ans);
			}
			else
			{
				int ans[6] = {a[1], b[1], b[2], a[2], a[3], b[3]};
				answer(ans);
			}
		}
	}
}

Compilation message

scales.cpp: In function 'void init(int)':
scales.cpp:6:15: warning: unused parameter 'T' [-Wunused-parameter]
    6 | void init(int T)
      |           ~~~~^
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 364 KB Output is partially correct
2 Partially correct 1 ms 364 KB Output is partially correct
3 Partially correct 1 ms 364 KB Output is partially correct
4 Partially correct 1 ms 364 KB Output is partially correct
5 Partially correct 1 ms 364 KB Output is partially correct
6 Partially correct 1 ms 364 KB Output is partially correct
7 Partially correct 1 ms 364 KB Output is partially correct
8 Partially correct 1 ms 364 KB Output is partially correct
9 Partially correct 0 ms 364 KB Output is partially correct
10 Partially correct 0 ms 364 KB Output is partially correct
11 Partially correct 0 ms 364 KB Output is partially correct
12 Partially correct 1 ms 364 KB Output is partially correct
13 Partially correct 0 ms 364 KB Output is partially correct
14 Partially correct 1 ms 364 KB Output is partially correct
15 Partially correct 1 ms 364 KB Output is partially correct
16 Partially correct 0 ms 364 KB Output is partially correct
17 Partially correct 0 ms 364 KB Output is partially correct
18 Partially correct 1 ms 364 KB Output is partially correct
19 Partially correct 0 ms 364 KB Output is partially correct
20 Partially correct 1 ms 364 KB Output is partially correct
21 Partially correct 0 ms 364 KB Output is partially correct
22 Partially correct 1 ms 364 KB Output is partially correct
23 Partially correct 0 ms 364 KB Output is partially correct
24 Partially correct 0 ms 364 KB Output is partially correct
25 Partially correct 1 ms 364 KB Output is partially correct
26 Partially correct 0 ms 364 KB Output is partially correct
27 Partially correct 1 ms 364 KB Output is partially correct
28 Partially correct 1 ms 364 KB Output is partially correct
29 Partially correct 0 ms 364 KB Output is partially correct
30 Partially correct 0 ms 364 KB Output is partially correct
31 Partially correct 1 ms 364 KB Output is partially correct
32 Partially correct 0 ms 364 KB Output is partially correct
33 Partially correct 1 ms 364 KB Output is partially correct
34 Partially correct 0 ms 364 KB Output is partially correct
35 Partially correct 0 ms 364 KB Output is partially correct
36 Partially correct 0 ms 364 KB Output is partially correct
37 Partially correct 1 ms 364 KB Output is partially correct
38 Partially correct 1 ms 364 KB Output is partially correct
39 Partially correct 1 ms 364 KB Output is partially correct
40 Partially correct 0 ms 364 KB Output is partially correct