# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
689774 | mychecksedad | 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 init(int T){
}
void answer(int W[]);
int getMedian(int A, int B, int C);
int getHeaviest(int A, int B, int C);
int getLightest(int A, int B, int C);
int getNextLightest(int A, int B, int C, int D);
void verase(int x, vector<int> &v){
for(int i = 0; i < v.size(); ++i){
if(v[i] == x){
v.erase(v.begin() + i);
return;
}
}
}
void orderCoins() {
int W[6];
vector<int> v {1, 2, 3, 4, 5, 6};
int mx = getHeaviest(v[0], v[1], v[2]);
mx = getHeaviest(mx, v[3], v[4]);
mx = getHeaviest(mx, v[5], mx==v[4]?v[3]:v[4]);
W[5] = mx;
verase(mx, v);
mx = getHeaviest(v[0], v[1], v[2]);
mx = getHeaviest(mx, v[3], v[4]);
W[4] = mx;
verase(mx, v);
mx = getHeaviest(v[0], v[1], v[2]);
mx = getHeaviest(mx, v[3], mx==v[2]?v[1]:v[2]);
W[3] = mx;
verase(mx, v);
mx = getHeaviest(v[0], v[1], v[2]);
W[2] = mx;
W[0] = getLightest(v[0], v[1], v[2]);
verase(W[0]);
verase(W[2]);
W[1] = v[0];
answer(W);
}