# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
802433 | Liudas | Scales (IOI15_scales) | C++17 | 0 ms | 0 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 <bits/stdc++.h>
#include "scales.h"
using namespace std;
void orderCoins(){
vector<int> arr(6);
vector<int> b = {1,2,3,4,5,6};
int ans = getHeaviest(1,2,3);
ans = getHeaviest(ans, 4, 5);
ans = getHeaviest(ans, 6, (ans == 5 ? 4 : 5));
arr[5] = ans;
b.erase(find(b.begin(), b.end(), ans));
ans = getHeaviest(b[0], b[1], b[2]);
ans = getHeaviest(ans, b[3], b[4]);
b.erase(find(b.begin(), b.end(), ans));
arr[4] = ans;
ans = getLightest(b[0],b[1],b[2]);
ans = getLightest(ans, b[3], arr[5]);
b.erase(find(b.begin(), b.end(), ans));
arr[0] = ans;
ans = getHeaviest(b[0],b[1],b[2]);
arr[3] = ans;
int ans2 = getLightest(b[0],b[1],b[2]);
arr[1] = ans2;
b.erase(find(b.begin(), b.end(), ans));
b.erase(find(b.begin(), b.end(), ans2));
arr[2] = b[0];
answer(arr);
}
void init(int T){
for(int i = 0; i < T; i ++){
orderCoins();
}
}