#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],b[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;
    b[0]=getLightest(4,5,6);
    b[1]=getMedian(4,5,6);
    if(b[0]+b[1]==9)b[2]=6;
    if(b[0]+b[1]==10)b[2]=5;
    if(b[0]+b[1]==11)b[2]=4;
    int l1=2,l2=2;
    for(int i=5;i>=0;i--){
        if(l1<0){
            while(l2>=0)W[i--]=b[l2--];
            break;
        }
        if(l2<0){
            while(l1>=0)W[i--]=a[l1--];
            break;
        }
        if(l2>0 && l1==0){
            swap(a,b);
            swap(l1,l2);
        }
        if(l1>0){
            int x=getMedian(a[l1],a[l1-1],b[l2]);
            if(x==a[l1-1]){
                W[i]=a[l1];
                i--; l1--;
                W[i]=a[l1];
                l1--;
                continue;
            }
            if(x==b[l2]){
                W[i]=a[l1];
                l1--; i--;
                W[i]=b[l2];
                l2--; continue;
            }
            W[i]=b[l2];
            l2--;
            continue;
        }
        int x=getMedian(a[l1],b[l2],W[i+1]);
        if(x==a[l1]){
            W[i]=a[l1];
            W[i-1]=b[l2];
            break;
        }
        W[i]=b[l2];
        W[i-1]=a[l1];
        break;
    }
   // for(int i=0;i<6;i++)cout<<W[i]<<' ';
   // cout<<'s'<<endl;
    answer(W);
}
//3 4 6 2 1 5
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |