#include <bits/stdc++.h>
#include "scales.h"
using namespace std;
#define pb push_back
void init(int T) {
    /* ... */
}
void orderCoins() {
    /* ... */
    int W[] = {1, 2, 3, 4, 5, 6};
    int a[3];
    a[0]=getLightest(1,2,3);
    a[1]=getMedian(1,2,3);
    if(a[0]+a[1]==3)a[2]=3;
    if(a[0]+a[1]==4)a[2]=2;
    if(a[0]+a[1]==5)a[2]=1;
   // cout<<a[0]<<' '<<a[1]<<' '<<a[2]<<endl;
    vector<int> vec[4];
    for(int i=4;i<=6;i++){
        int x=getNextLightest(a[0],a[1],a[2],i);
        if(x==a[2])vec[2].pb(i);
        else if(x==a[1])vec[1].pb(i);
        else{
            x=getLightest(a[0],a[1],i);
            if(x==i)vec[0].pb(i);
            else vec[3].pb(i);
        }
    }
    W[vec[0].size()]=a[0];
    W[vec[0].size()+vec[1].size()+1]=a[1];
    W[vec[0].size()+vec[1].size()+1+vec[2].size()+1]=a[2];
   // cout<<W[0]<<' '<<W[3]<<' '<<W[4]<<endl;
    int last=0;
    for(int i=0;i<4;i++){
        if(vec[i].size()==1){
            W[last]=vec[i][0];
            last++;
        }
        else if(vec[i].size()==3){
            a[0]=getLightest(vec[i][0],vec[i][1],vec[i][2]);
            a[1]=getMedian(vec[i][0],vec[i][1],vec[i][2]);
            for(int j=0;j<3;j++){
                if(vec[i][j]!=a[0] && vec[i][j]!=a[1])a[2]=vec[i][j];
            }
            for(int j=0;j<3;j++){
                W[last]=a[j];
                last++;
            }
            break;
        }
        else if(vec[i].size()==2){
            if(last<4){
                a[0]=getLightest(vec[i][0],vec[i][1],W[last+2]);
                a[1]=getMedian(vec[i][0],vec[i][1],W[last+2]);
            }
            else{
                a[0]=getMedian(vec[i][0],vec[i][1],W[last-1]);
                a[1]=getHeaviest(vec[i][0],vec[i][1],W[last-1]);
            }
            W[last]=a[0]; last++;
            W[last]=a[1]; last++;
        }
        last++;
    }
    //for(int i=0;i<6;i++)cout<<W[i]<<' ';
    //cout<<endl;
    answer(W);
}
//3 4 6 2 1 5
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |