제출 #291103

#제출 시각아이디문제언어결과실행 시간메모리
291103arayi저울 (IOI15_scales)C++17
57.12 / 100
1 ms256 KiB
#include <bits/stdc++.h>
#include "scales.h"
#define vii vector <int>
#define ad push_back
using namespace std;

void init(int T) {

}
int a[6];
vii fp[7];
vii pat;
void orderCoins() {
    pat.clear();
    a[0] = getLightest(1, 2, 3);
    a[1] = getMedian(1, 2, 3);
    a[2] = 6 - a[0] - a[1];
    a[3] = getLightest(4, 5, 6);
    a[4] = getMedian(4, 5, 6);
    a[5] = 15 - a[3] - a[4];
    int sm;
    sm = getMedian(a[0], a[1], a[3]);
    if(sm == a[1])
    {
        pat.ad(a[0]);
        pat.ad(a[1]);
        sm = getMedian(a[2], a[3], a[4]);
        if(sm == a[3])
        {
            pat.ad(a[2]);
            pat.ad(a[3]);
            pat.ad(a[4]);
            pat.ad(a[5]);
        }
        else if(sm == a[2])
        {
            pat.ad(a[3]);
            pat.ad(a[2]);
            pat.ad(a[4]);
            pat.ad(a[5]);
        }
        else
        {
            pat.ad(a[3]);
            pat.ad(a[4]);
            if(getMedian(a[4], a[5], a[2]) == a[2]) pat.ad(a[2]), pat.ad(a[5]);
            else pat.ad(a[5]), pat.ad(a[2]);
        }
    }
    else if(sm == a[3])
    {
        pat.ad(a[0]);
        pat.ad(a[3]);
        sm = getMedian(a[1], a[4], a[5]);
        if(sm == a[4])
        {
            pat.ad(a[1]);
            sm = getMedian(a[2], a[4], a[5]);
            if(sm == a[4]) pat.ad(a[2]), pat.ad(a[4]), pat.ad(a[5]);
            else if(sm == a[2]) pat.ad(a[4]), pat.ad(a[2]), pat.ad(a[5]);
            else pat.ad(a[4]), pat.ad(a[5]), pat.ad(a[2]);
        }
        else if(sm == a[1])
        {
            pat.ad(a[4]);
            pat.ad(a[1]);
            sm = getMedian(a[1], a[2], a[5]);
            if(sm == a[2]) pat.ad(a[2]), pat.ad(a[5]);
            else pat.ad(a[5]), pat.ad(a[2]);
        }
        else
        {
            pat.ad(a[4]);
            pat.ad(a[5]);
            pat.ad(a[1]);
            pat.ad(a[2]);
        }
    }
    else
    {
        pat.ad(a[3]);
        sm = getMedian(a[0], a[1], a[4]);
        if(sm == a[4])
        {
            pat.ad(a[0]);
            pat.ad(a[4]);
            sm = getMedian(a[1], a[2], a[5]);
            if(sm == a[1]) pat.ad(a[5]), pat.ad(a[1]), pat.ad(a[2]);
            else if(sm == a[5]) pat.ad(a[1]), pat.ad(a[5]), pat.ad(a[2]);
            else pat.ad(a[1]), pat.ad(a[2]), pat.ad(a[5]);
        }
        else if(sm == a[1])
        {

            pat.ad(a[0]);
            pat.ad(a[1]);
            sm = getMedian(a[2], a[4], a[5]);
            if(sm == a[4]) pat.ad(a[2]), pat.ad(a[4]), pat.ad(a[5]);
            else if(sm == a[2]) pat.ad(a[4]), pat.ad(a[2]), pat.ad(a[5]);
            else pat.ad(a[4]), pat.ad(a[5]), pat.ad(a[2]);
        }
        else
        {
            pat.ad(a[4]);
            sm = getMedian(a[0], a[1], a[5]);
            if(sm == a[0]) pat.ad(a[5]), pat.ad(a[0]), pat.ad(a[1]), pat.ad(a[2]);
            else if(sm == a[5]) pat.ad(a[0]), pat.ad(a[5]), pat.ad(a[1]), pat.ad(a[2]);
            else
            {
                pat.ad(a[0]), pat.ad(a[1]);
                sm = getMedian(a[2], a[5], a[0]);
                if(sm == a[2]) pat.ad(a[2]), pat.ad(a[5]);
                else pat.ad(a[5]), pat.ad(a[2]);
            }
        }
    }
    int W[] = {1, 2, 3, 4, 5, 6 };
    //vii W(6)
    for (int i = 0; i < 6; i++)
    {
        W[i] = pat[i];
    }
    answer(W);
}

컴파일 시 표준 에러 (stderr) 메시지

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