# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
358311 | kylych03 | 저울 (IOI15_scales) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "scales.h"
#include <bits/stdc++.h>
#include "grader.cpp"
using namespace std;
void init(int T) {
/* ... */
}
void orderCoins() {
int w[] = {1, 2, 3, 4, 5, 6};
///
int x = getLightest(w[0], w[1], w[2]);
if ( x == w[2])
swap(w[0] , w[2]);
if ( x == w[1])
swap(w[0] , w[1]);
//
x = getMedian (w[0], w[1], w[2]);
if ( x == w[2])
swap(w[2] , w[1]);
//
swap(w[0], w[3]);
swap(w[1], w[4]);
swap(w[2], w[5]);
//
x = getLightest(w[0], w[1], w[2]);
if ( x == w[2])
swap(w[0] , w[2]);
if ( x == w[1])
swap(w[0] , w[1]);
//
x = getMedian (w[0], w[1], w[2]);
if ( x == w[2])
swap(w[2] , w[1]);
x = getMedian (w[0], w[1], w[4]);
if( x == w[0]){
swap(w[0] , w[3]);
swap(w[1] , w[4]);
swap(w[2] , w[3]);
swap(w[3] , w[4]);
x = getMedian (w[2], w[3], w[5]);
if(x == w[2]){
swap(w[5], w[2]);
swap(w[5], w[3]);
swap(w[5], w[4]);
}
else
if(x == w[5]){
swap(w[5], w[3]);
swap(w[5], w[4]);
}
else{
x = getMedian (w[3], w[4], w[5]);
if( x == w[5])
swap( w[4], w[5]);
}
}
else
if(x == w[1]){
swap(w[1], w[3]);
swap(w[2], w[3]);
x = getMedian (w[0], w[1], w[2]);
if(x == w[0])
swap(w[0], w[1]);
if(x == w[2])
swap(w[2], w[1]);
x = getMedian (w[3], w[4], w[5]);
if(x == w[3] || x == w[5])
swap( w[3], w[4]);
if( x == w[5])
swap( w[4], w[5]);
}
else
{
swap(w[1], w[3]);
swap(w[2], w[4]);
x = getMedian (w[0], w[1], w[2]);
if(x == w[0])
swap(w[0], w[1]);
x = getMedian (w[3], w[4], w[5]);
if(x == w[3]){
swap(w[3], w[5]);
swap(w[4], w[5]);
}
if( x == w[5])
swap(w[4], w[5]);
}
answer(w);
}