Submission #1167986

#TimeUsernameProblemLanguageResultExecution timeMemory
1167986HappyCapybaraScales (IOI15_scales)C++17
71.43 / 100
0 ms328 KiB
#include "scales.h" #include<bits/stdc++.h> using namespace std; void init(int T){ } void orderCoins(){ int ans[6]; int a1 = getHeaviest(1, 2, 3); int a2 = 1; if (a1 == 1) a2 = 2; int a3 = 2; if (a1 == 2 || a2 == 2) a3 = 3; int b3 = getLightest(4, 5, 6); int b1 = 4; if (b3 == 4) b1 = 5; int b2 = 5; if (b3 == 5 || b1 == 5) b2 = 6; int r1 = getHeaviest(a2, a3, b3); if (r1 == b3){ if (getLightest(a1, a2, a3) != a3) swap(a2, a3); ans[0] = a3; ans[1] = a2; if (getHeaviest(b1, b2, b3) != b1) swap(b1, b2); int r2 = getMedian(a1, b3, b2); if (r2 == a1){ ans[2] = b3; ans[3] = a1; ans[4] = b2; ans[5] = b1; answer(ans); return; } if (r2 == b3){ ans[2] = a1; ans[3] = b3; ans[4] = b2; ans[5] = b1; answer(ans); return; } if (r2 == b2){ ans[2] = b3; ans[3] = b2; if (getMedian(a1, b1, b2) == a1){ ans[4] = a1; ans[5] = b1; } else { ans[4] = b1; ans[5] = a1; } answer(ans); return; } } if (r1 == a3) swap(a2, a3); if (r1 == a2){ if (getHeaviest(b1, b2, b3) != b1) swap(b1, b2); int r2 = getMedian(b2, b3, a3); if (r2 == b2){ ans[0] = b3; ans[1] = b2; int r3 = getMedian(a2, a3, b1); if (r3 == a3){ ans[2] = b1; ans[3] = a3; ans[4] = a2; ans[5] = a1; answer(ans); return; } if (r3 == b1){ ans[2] = a3; ans[3] = b1; ans[4] = a2; ans[5] = a1; answer(ans); return; } if (r3 == a2){ ans[2] = a3; ans[3] = a2; if (getHeaviest(a2, a1, b1) == a1){ ans[4] = b1; ans[5] = a1; } else { ans[4] = a1; ans[5] = b1; } answer(ans); return; } } if (r2 == b3){ ans[0] = a3; ans[1] = b3; int r3 = getMedian(b2, a1, a2); if (r3 == b2){ ans[2] = a2; ans[3] = b2; if (getHeaviest(b2, b1, a1) == a1){ ans[4] = b1; ans[5] = a1; } else { ans[4] = a1; ans[5] = b1; } answer(ans); return; } if (r3 == a1){ ans[2] = a2; ans[3] = a1; ans[4] = b2; ans[5] = b1; answer(ans); return; } if (r3 == a2){ ans[2] = b2; int r4 = getMedian(a1, a2, b1); if (r4 == a1){ ans[3] = a2; ans[4] = a1; ans[5] = b1; answer(ans); return; } if (r4 == a2){ ans[3] = b1; ans[4] = a2; ans[5] = a1; answer(ans); return; } if (r4 == b1){ ans[3] = a2; ans[4] = b1; ans[5] = a1; answer(ans); return; } } } if (r2 == a3){ ans[0] = b3; ans[1] = a3; int r3 = getMedian(a1, a2, b2); if (r3 == a1){ ans[2] = a2; ans[3] = a1; ans[4] = b2; ans[5] = b1; answer(ans); return; } if (r3 == a2){ ans[2] = b2; int r4 = getMedian(a1, a2, b1); if (r4 == a1){ ans[3] = a2; ans[4] = a1; ans[5] = b1; answer(ans); return; } if (r4 == a2){ ans[3] = b1; ans[4] = a2; ans[5] = a1; answer(ans); return; } if (r4 == b1){ ans[3] = a2; ans[4] = b1; ans[5] = a1; answer(ans); return; } } if (r3 == b2){ ans[2] = a2; ans[3] = b2; if (getHeaviest(b1, b2, a1) == a1){ ans[4] = b1; ans[5] = a1; } else { ans[4] = a1; ans[5] = b1; } answer(ans); return; } } } }
#Verdict Execution timeMemoryGrader output
Fetching results...