Submission #1084810

#TimeUsernameProblemLanguageResultExecution timeMemory
1084810guagua0407Scales (IOI15_scales)C++17
45.91 / 100
1 ms604 KiB
#include "scales.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define f first
#define s second
#define all(x) x.begin(),x.end()
#define _ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

void init(int T) {
    /* ... */
}

void orderCoins() {
    vector<int> vec(6);
    for(int i=0;i<6;i++){
        vec[i]=i+1;
    }
    random_shuffle(all(vec));
    {
        int x=getLightest(vec[0],vec[1],vec[2]);
        if(x==vec[1]) swap(vec[0],vec[1]);
        else if(x==vec[2]) swap(vec[0],vec[2]);
        int y=getHeaviest(vec[0],vec[1],vec[2]);
        if(y==vec[1]) swap(vec[1],vec[2]);
    }
    {
        int x=getMedian(vec[0],vec[3],vec[1]);
        if(x==vec[3]){
            int tmp=vec[3];
            vec[3]=vec[2];
            vec[2]=vec[1];
            vec[1]=tmp;
        }
        else if(x==vec[0]){
            int tmp=vec[3];
            vec[3]=vec[2];
            vec[2]=vec[1];
            vec[1]=vec[0];
            vec[0]=tmp;
        }
        else{
            int y=getMedian(vec[1],vec[3],vec[2]);
            if(y==vec[3]){
                swap(vec[2],vec[3]);
            }
        }
    }
    {
        int x=getMedian(vec[1],vec[4],vec[2]);
        if(x==vec[4]){
            int tmp=vec[4];
            vec[4]=vec[3];
            vec[3]=vec[2];
            vec[2]=tmp;
        }
        else if(x==vec[1]){
            int y=getMedian(vec[0],vec[4],vec[1]);
            if(y==vec[0]){
                int tmp=vec[4];
                vec[4]=vec[3];
                vec[3]=vec[2];
                vec[2]=vec[1];
                vec[1]=vec[0];
                vec[0]=tmp;
            }
            else{
                int tmp=vec[4];
                vec[4]=vec[3];
                vec[3]=vec[2];
                vec[2]=vec[1];
                vec[1]=tmp;
            }
        }
        else{
            int y=getMedian(vec[2],vec[4],vec[3]);
            if(y==vec[4]){
                swap(vec[3],vec[4]);
            }
        }
    }
    {
        int x=getMedian(vec[1],vec[5],vec[2]);
        if(x==vec[5]){
            int tmp=vec[5];
            vec[5]=vec[4];
            vec[4]=vec[3];
            vec[3]=vec[2];
            vec[2]=tmp;
        }
        else if(x==vec[1]){
            int y=getMedian(vec[0],vec[5],vec[1]);
            if(y==vec[0]){
                int tmp=vec[5];
                vec[5]=vec[4];
                vec[4]=vec[3];
                vec[3]=vec[2];
                vec[2]=vec[1];
                vec[1]=vec[0];
                vec[0]=tmp;
            }
            else{
                int tmp=vec[5];
                vec[5]=vec[4];
                vec[4]=vec[3];
                vec[3]=vec[2];
                vec[2]=vec[1];
                vec[1]=tmp;
            }
        }
        else{
            int y=getMedian(vec[2],vec[5],vec[3]);
            if(y==vec[5]){
                int tmp=vec[5];
                vec[5]=vec[4];
                vec[4]=vec[3];
                vec[3]=tmp;
            }
            else{
                int z=getMedian(vec[3],vec[5],vec[4]);
                if(z==vec[5]){
                    swap(vec[4],vec[5]);
                }
            }
        }
    }
    int W[] = {vec[0],vec[1],vec[2],vec[3],vec[4],vec[5]};
    answer(W);
}

Compilation message (stderr)

scales.cpp: In function 'void init(int)':
scales.cpp:11:15: warning: unused parameter 'T' [-Wunused-parameter]
   11 | void init(int T) {
      |           ~~~~^
#Verdict Execution timeMemoryGrader output
Fetching results...