Submission #287278

#TimeUsernameProblemLanguageResultExecution timeMemory
287278amoo_safar저울 (IOI15_scales)C++17
71.43 / 100
2 ms384 KiB
#include "scales.h" #include <bits/stdc++.h> using namespace std; void init(int T) { assert(T != -1); return ; } void orderCoins(){ int W[] = {1, 2, 3, 4, 5, 6}; int S4[] = {0, 0, 0, 0}, p = 0; int res, A, B, C, D, E, F; res = getHeaviest(1, 2, 3); if(res == 1) A = 1, B = 2, C = 3; if(res == 2) A = 2, B = 1, C = 3; if(res == 3) A = 3, B = 1, C = 2; res = getLightest(4, 5, 6); if(res == 4) D = 4, E = 5, F = 6; if(res == 5) D = 5, E = 4, F = 6; if(res == 6) D = 6, E = 4, F = 5; res = getHeaviest(A, E, F); W[5] = res; if(res != A) S4[p ++] = A; if(res != E) S4[p ++] = E; if(res != F) S4[p ++] = F; res = getLightest(B, C, D); W[0] = res; if(res != B) S4[p ++] = B; if(res != C) S4[p ++] = C; if(res != D) S4[p ++] = D; assert(p == 4); res = getHeaviest(S4[1], S4[2], S4[3]); for(int i = 0; i + 1 < 4; i++) if(S4[i] == res) swap(S4[i], S4[i + 1]); res = getLightest(S4[0], S4[1], S4[2]); for(int i = 3; i > 0; i--) if(S4[i] == res) swap(S4[i], S4[i - 1]); res = getMedian(S4[1], S4[2], S4[3]); if(res == S4[3]){ swap(S4[1], S4[2]); swap(S4[2], S4[3]); } else if(res == S4[1]){ swap(S4[1], S4[2]); } for(int i = 0; i < 4; i++) W[i + 1] = S4[i]; answer(W); return ; }
#Verdict Execution timeMemoryGrader output
Fetching results...