Submission #1207551

#TimeUsernameProblemLanguageResultExecution timeMemory
1207551kilikumaScales (IOI15_scales)C++20
0 / 100
0 ms320 KiB
#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 timeMemoryGrader output
Fetching results...