Submission #1203659

#TimeUsernameProblemLanguageResultExecution timeMemory
1203659inesfiScales (IOI15_scales)C++20
0 / 100
0 ms320 KiB
#include "scales.h"
#include<bits/stdc++.h>
using namespace std;

// maxi : getHeaviest()
// mini : getLightest()
// mediane : getMedian()
// act4 : getNextLightest()

void init(int T) {
    return ;
}

void orderCoins() {
    int rep[6];
    int a=1,b=2,c=3,d=4,e=5,f=6;
    int val;
    val=getLightest(a,b,c);
    //cout<<val<<endl;
    if (val==b){
        swap(a,b);
    }
    else if (val==c){
        swap(a,c);
    }
    val=getLightest(d,e,f);
    if (val==e){
        swap(d,e);
    }
    else if (val==f){
        swap(d,f);
    }
    //cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<" "<<f<<endl; 
    val=getMedian(a,b,d);
    if (val==a){
        rep[0]=d;
        rep[1]=a;
    }
    else if (val==d){
        rep[0]=a;
        rep[1]=d;
    }
    else {
        rep[0]=a;
        rep[1]=b;
        swap(b,d);
    }
    swap(a,b);
    swap(b,c);
    swap(c,e);
    swap(d,f);
    //cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl; 
    val=getMedian(a,b,c);
    //cout<<val<<endl;
    if (val==a){
        swap(a,b);
    }
    else if (val==c){
        swap(b,c);
    }
    val=getNextLightest(a,c,d,b);
    if (val==a or val==c){
        if (val==a){
            swap(a,c);
        }
        val=getMedian(a,c,d);
        if (val==a){
            rep[2]=d;
            rep[3]=a;
            rep[4]=b;
            rep[5]=c;
        }
        else if (val==c){
            rep[2]=a;
            rep[3]=b;
            rep[4]=c;
            rep[5]=d;
        }
        else {
            rep[2]=a;
            rep[3]=d;
            rep[4]=b;
            rep[5]=c;
        }
    }
    else {
        val=getLightest(a,c,d);
        rep[3]=b;
        rep[4]=d;
        if (val==a){
            rep[2]=a;
            rep[5]=c;
        }
        else {
            rep[2]=c;
            rep[5]=a;
        }
    }
    answer(rep);
    /*for (int i=0;i<6;i++){
        cout<<rep[i]<<" ";
    }
    cout<<endl;*/
    return ;
}
#Verdict Execution timeMemoryGrader output
Fetching results...