Submission #837197

# Submission time Handle Problem Language Result Execution time Memory
837197 2023-08-25T07:55:48 Z mindiyak Scales (IOI15_scales) C++14
45.4545 / 100
1 ms 340 KB
#include "scales.h"
#include <vector>
using namespace std;

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

void orderCoins() {
    int aMax = getHeaviest(1,2,3);
    int aMin = getLightest(1,2,3);
    int bMax = getHeaviest(4,5,6);
    int bMin = getLightest(4,5,6);

    vector<int> a = {aMin};
    for(int x:{1,2,3}){
        if(x==aMax or x==aMin)continue;
        a.push_back(x);
    }a.push_back(aMax);

    vector<int> b = {bMin};
    for(int x:{4,5,6}){
        if(x==bMax or x==bMin)continue;
        b.push_back(x);
    }b.push_back(bMax);

    vector<int> ans;
    vector<int> to;

    int x = getLightest(a[0],b[0],a[1]);
    ans.push_back(x);
    if(x<=3){//a[1,2] b[0,1,2]
        x = getLightest(a[1],b[0],a[2]);
        ans.push_back(x);  
        if(x<=3){//a[2] b[0,1,2]
            x = getLightest(b[1],b[0],a[2]);
            ans.push_back(x);
            if(x<=3){//b[0,1,2]
                to = b;
            }else{//a[2] b[1,2]
                to = vector<int> (b.begin()+1,b.end());
                to.push_back(a[2]);
            }
        }else{//a[1,2] b[1,2]
            x = getLightest(b[1],a[1],a[2]);
            ans.push_back(x);
            if(x<=3){//a[2] b[1,2]
                to = vector<int> (b.begin()+1,b.end());
                to.push_back(a[2]);
            }else{//a[1,2] b[2]
                to = vector<int> (a.begin()+1,a.end());
                to.push_back(b[2]);
            }
        }
    }else{//a[0,1,2] b[1,2]
        x = getLightest(a[0],b[1],a[2]);
        ans.push_back(x);  
        if(x<=3){//a[1,2] b[1,2]
            x = getLightest(b[1],b[2],a[1]);
            ans.push_back(x);
            if(x<=3){//a[2] b[1,2]
                to = vector<int> (b.begin()+1,b.end());
                to.push_back(a[2]);
            }else{//a[1,2] b[2]
                to = vector<int> (a.begin()+1,a.end());
                to.push_back(b[2]);
            }
        }else{//a[0,1,2] b[2]
            x = getLightest(b[2],a[1],a[0]);
            ans.push_back(x);
            if(x<=3){//a[1,2] b[2]
                to = vector<int> (a.begin()+1,a.end());
                to.push_back(b[2]);
            }else{//a[0,1,2] 
                to = a;
            }
        }
    }

    x = getLightest(to[0],to[1],to[2]);
    ans.push_back(x);
    int MX = getHeaviest(to[0],to[1],to[2]);
    for(int y:to){
        if(y==x or y==MX)continue;
        ans.push_back(y);
    }ans.push_back(MX);


    int intans[6];
    for(int i=0;i<6;i++)intans[i] = ans[i];

    answer(intans);
}

Compilation message

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