#include "scales.h"
#include <bits/stdc++.h>
using namespace std;
void init(int T) {
}
void orderCoins() {
int W[6];
int heaviest123 = getHeaviest(1, 2, 3);
int lightest123 = getLightest(1, 2, 3);
int median123;
if (heaviest123 != 1 && lightest123 != 1) median123 = 1;
else if (heaviest123 != 2 && lightest123 != 2) median123 = 2;
else median123 = 3;
int heaviest456 = getHeaviest(4, 5, 6);
int lightest456 = getLightest(4, 5, 6);
int median456;
if (heaviest456 != 4 && lightest456 != 4) median456 = 4;
else if (heaviest456 != 5 && lightest456 != 5) median456 = 5;
else median456 = 6;
int candidate1 = heaviest123;
int candidate2 = heaviest456;
int heaviest;
if (candidate1 == heaviest123) {
int temp = getHeaviest(heaviest123, median456, lightest456);
if (temp == heaviest123) {
heaviest = heaviest123;
} else {
heaviest = heaviest456;
}
} else {
int temp = getHeaviest(heaviest456, median123, lightest123);
if (temp == heaviest456) {
heaviest = heaviest456;
} else {
heaviest = heaviest123;
}
}
int lightest;
int temp_light = getLightest(lightest123, lightest456, median123);
if (temp_light == lightest123 || temp_light == lightest456) {
lightest = temp_light;
} else {
temp_light = getLightest(lightest123, lightest456, median456);
lightest = temp_light;
}
vector<int> remaining;
for (int i = 1; i <= 6; ++i) {
if (i != lightest && i != heaviest) {
remaining.push_back(i);
}
}
int a = remaining[0];
int b = remaining[1];
int c = remaining[2];
int d = remaining[3];
int h1 = getHeaviest(a, b, c);
int h2 = getHeaviest(a, b, d);
int second_heaviest;
if (h1 == h2) {
if (h1 == a) {
second_heaviest = a;
} else if (h1 == b) {
second_heaviest = b;
} else {
int temp_h = getHeaviest(c, d, a);
second_heaviest = temp_h;
}
} else {
if (h1 == a && h2 == a) {
second_heaviest = a;
} else if (h1 == b && h2 == b) {
second_heaviest = b;
} else {
if (h1 == c) {
second_heaviest = getHeaviest(c, d, a);
} else {
second_heaviest = getHeaviest(c, d, b);
}
}
}
W[0] = lightest;
W[5] = heaviest;
W[1] = remaining[0];
W[2] = remaining[1];
W[3] = remaining[2];
W[4] = remaining[3];
answer(W);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |