# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
287278 | amoo_safar | 저울 (IOI15_scales) | C++17 | 2 ms | 384 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |