#include <bits/stdc++.h>
#include "scales.h"
using namespace std;
void init(int T){
}
void add(vector<int> &ans, int nxt, int x){
if(nxt == ans[0]){
ans.push_back(x);
return;
}
vector<int> new_ans;
for(auto i : ans){
if(i == nxt) new_ans.push_back(x);
new_ans.push_back(i);
}
ans = new_ans;
}
void orderCoins(){
// 8 queries
int A[3], B[3];
A[0] = getLightest(1, 2, 3);
A[1] = getMedian(1, 2, 3);
A[2] = 6 - A[0] - A[1];
B[0] = getLightest(4, 5, 6);
B[1] = getMedian(4, 5, 6);
B[2] = 15 - B[0] - B[1];
// A[0] < B[0] ?
vector<int> ans;
if(getLightest(A[0], B[0], A[1]) == B[0]) swap(A, B);
ans.push_back(A[0]);
ans.push_back(A[1]);
ans.push_back(A[2]);
add(ans, getNextLightest(A[0], A[1], A[2], B[0]), B[0]);
add(ans, getNextLightest(A[0], A[1], A[2], B[1]), B[1]);
add(ans, getNextLightest(A[0], A[1], A[2], B[2]), B[2]);
int W[6];
for(int i=0; i<6; i++) W[i] = ans[i];
answer(W);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |