Submission #291103

# Submission time Handle Problem Language Result Execution time Memory
291103 2020-09-04T16:43:44 Z arayi Scales (IOI15_scales) C++17
57.1181 / 100
1 ms 256 KB
#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);
}

Compilation message

scales.cpp: In function 'void init(int)':
scales.cpp:7:15: warning: unused parameter 'T' [-Wunused-parameter]
    7 | void init(int T) {
      |           ~~~~^
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 256 KB Output is partially correct
2 Partially correct 0 ms 256 KB Output is partially correct
3 Partially correct 0 ms 256 KB Output is partially correct
4 Partially correct 0 ms 256 KB Output is partially correct
5 Partially correct 0 ms 256 KB Output is partially correct
6 Partially correct 1 ms 256 KB Output is partially correct
7 Partially correct 1 ms 256 KB Output is partially correct
8 Partially correct 0 ms 256 KB Output is partially correct
9 Partially correct 0 ms 256 KB Output is partially correct
10 Partially correct 0 ms 256 KB Output is partially correct
11 Partially correct 1 ms 256 KB Output is partially correct
12 Partially correct 0 ms 256 KB Output is partially correct
13 Partially correct 0 ms 256 KB Output is partially correct
14 Partially correct 1 ms 256 KB Output is partially correct
15 Partially correct 0 ms 256 KB Output is partially correct
16 Partially correct 0 ms 256 KB Output is partially correct
17 Partially correct 0 ms 256 KB Output is partially correct
18 Partially correct 0 ms 256 KB Output is partially correct
19 Partially correct 0 ms 256 KB Output is partially correct
20 Partially correct 0 ms 256 KB Output is partially correct
21 Partially correct 0 ms 256 KB Output is partially correct
22 Partially correct 0 ms 256 KB Output is partially correct
23 Partially correct 0 ms 256 KB Output is partially correct
24 Partially correct 0 ms 256 KB Output is partially correct
25 Partially correct 0 ms 256 KB Output is partially correct
26 Partially correct 0 ms 256 KB Output is partially correct
27 Partially correct 1 ms 256 KB Output is partially correct
28 Partially correct 0 ms 256 KB Output is partially correct
29 Partially correct 1 ms 256 KB Output is partially correct
30 Partially correct 0 ms 256 KB Output is partially correct
31 Partially correct 0 ms 256 KB Output is partially correct
32 Partially correct 0 ms 256 KB Output is partially correct
33 Partially correct 0 ms 256 KB Output is partially correct
34 Partially correct 1 ms 256 KB Output is partially correct
35 Partially correct 0 ms 256 KB Output is partially correct
36 Partially correct 1 ms 256 KB Output is partially correct
37 Partially correct 1 ms 256 KB Output is partially correct
38 Partially correct 0 ms 256 KB Output is partially correct
39 Partially correct 0 ms 256 KB Output is partially correct
40 Partially correct 1 ms 256 KB Output is partially correct