| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 287278 | amoo_safar | Scales (IOI15_scales) | C++17 | 2 ms | 384 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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... | ||||
