Submission #759436

# Submission time Handle Problem Language Result Execution time Memory
759436 2023-06-16T09:50:55 Z pawned Scales (IOI15_scales) C++17
45.4545 / 100
1 ms 300 KB
#include "scales.h"

#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define pb push_back
typedef long long ll;
typedef pair<int, int> ii;
typedef vector<int> vi;

int lightest(int x, int y, int z) {
	int res = getLightest(x + 1, y + 1, z + 1) - 1;
	return res;
}

int median(int x, int y, int z) {
	int res = getMedian(x + 1, y + 1, z + 1) - 1;
	return res;
}

int heaviest(int x, int y, int z) {
	int res = getHeaviest(x + 1, y + 1, z + 1) - 1;
	return res;
}

void init(int T) {
	/* ... */
}

void orderCoins() {
	bool used[6] = {false};
//------------------------
	int x1 = lightest(0, 1, 2);
	x1 = lightest(x1, 3, 4);
	if (x1 != 4)
		x1 = lightest(x1, 4, 5);
	else
		x1 = lightest(x1, 3, 5);
	used[x1] = true;
//  cout<<"x1: "<<x1<<endl;
	// now x1 is the lighest
//------------------------
	vi un;  // unused
	for (int j = 0; j < 6; j++) {
		if (!used[j])
			un.pb(j);
	}
	int x2 = lightest(un[0], un[1], un[2]);
	x2 = lightest(x2, un[3], un[4]);
	used[x2] = true;
//	  cout<<"x2: "<<x2<<endl;
	// now x2 is the second lightest
//------------------------
	un.clear();
	for (int j = 0; j < 6; j++) {
		if (!used[j])
			un.pb(j);
	}
	int x6 = heaviest(un[0], un[1], un[2]);
	// this if-else is just to get rid of duplicates
	if (x6 != un[0])
		x6 = heaviest(x6, un[0], un[3]);
	else
		x6 = heaviest(x6, un[1], un[3]);
	used[x6] = true;
//	  cout<<"x6: "<<x6<<endl;
	// now x6 is the heaviest
//------------------------
	un.clear();
	for (int j = 0; j < 6; j++) {
		if (!used[j])
			un.pb(j);
	}
	int x5 = heaviest(un[0], un[1], un[2]);
	used[x5] = true;
//	  cout<<"x5: "<<x5<<endl;
	// now x6 is the second heaviest
//------------------------
	un.clear();
	for (int j = 0; j < 6; j++) {
		if (!used[j])
			un.pb(j);
	}
	int x3 = lightest(un[0], un[1], x6);
	int x4;
	if (x3 == un[0])
		x4 = un[1];
	else
		x4 = un[0];
//	  cout<<"x3: "<<x3<<endl;
//	  cout<<"x4: "<<x4<<endl;
//------------------------
	int W[] = {x1 + 1, x2 + 1, x3 + 1, x4 + 1, x5 + 1, x6 + 1};
	answer(W);
}

Compilation message

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