Submission #668797

# Submission time Handle Problem Language Result Execution time Memory
668797 2022-12-05T02:08:42 Z victor_gao Scales (IOI15_scales) C++17
71.4286 / 100
1 ms 304 KB
#include <bits/stdc++.h>
#include "scales.h"
using namespace std;

void init(int T) {
    /* ... */
}
void orderCoins() {
    /* ... */
    int W[] = {1, 2, 3, 4, 5, 6};
    int mn,nxt,mid;
    vector<int>q;
    for (int i=1;i<=3;i++)
        q.push_back(i);
    deque<int>f;
    mn=getLightest(1,2,3);
    f.push_front(mn);
    q.erase(find(q.begin(),q.end(),mn));
    nxt=getNextLightest(q[0],q[1],4,mn);
    if (nxt==4){
        f.push_back(4);
        mid=getMedian(q[0],q[1],4);
        if (mid==q[0]){
            f.push_back(q[0]);
            f.push_back(q[1]);
        }
        else {
            f.push_back(q[1]);
            f.push_back(q[0]);
        }
    }
    else {
        q.erase(find(q.begin(),q.end(),nxt));
        f.push_back(nxt);
        f.push_back(6-mn-nxt);
        mid=getMedian(mn,6-mn-nxt,4);
        if (mid==4)
            f.insert(f.begin()+2,4);
        else if (mid==mn) f.push_front(4);
        else f.push_back(4);
    }

    nxt=getNextLightest(f[0],f[1],f[3],5);
    if (nxt==f[0]){
        mid=getMedian(f[0],f[3],5);
        if (mid==f[0]) f.insert(f.begin(),5);
        else if (mid==f[3]) f.push_back(5);
        else f.push_front(5);
    }
    else if (nxt==f[1])
        f.insert(f.begin()+1,5);
    else {
        mid=getMedian(f[2],f[3],5);
        if (mid==f[2])
            f.insert(f.begin()+2,5);
        else f.insert(f.begin()+3,5);
    }
    nxt=getNextLightest(f[0],f[2],f[4],6);
    if (nxt==f[0]){
        mid=getMedian(f[0],f[4],6);
        if (mid==f[0]) f.push_front(6);
        else f.push_back(6);
    }
    else if (nxt==f[2]){
        mid=getMedian(f[1],f[2],6);
        if (mid==f[1]) f.insert(f.begin()+1,6);
        else f.insert(f.begin()+2,6);
    }
    else {
        mid=getMedian(f[3],f[4],6);
        if (mid==f[3]) f.insert(f.begin()+3,6);
        else f.insert(f.begin()+4,6);
    }
    /*
    for (auto i:f)
        cout<<i<<" ";
    cout<<'\n';
    */
    for (int i=0;i<6;i++)
        W[i]=f[i];
    answer(W);
}

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 1 ms 304 KB Output is partially correct
2 Partially correct 1 ms 300 KB Output is partially correct
3 Partially correct 1 ms 212 KB Output is partially correct
4 Partially correct 1 ms 212 KB Output is partially correct
5 Partially correct 1 ms 212 KB Output is partially correct
6 Partially correct 1 ms 212 KB Output is partially correct
7 Partially correct 1 ms 212 KB Output is partially correct
8 Partially correct 0 ms 212 KB Output is partially correct
9 Partially correct 1 ms 212 KB Output is partially correct
10 Partially correct 1 ms 296 KB Output is partially correct
11 Partially correct 1 ms 256 KB Output is partially correct
12 Partially correct 1 ms 300 KB Output is partially correct
13 Partially correct 0 ms 212 KB Output is partially correct
14 Partially correct 0 ms 212 KB Output is partially correct
15 Partially correct 1 ms 212 KB Output is partially correct
16 Partially correct 1 ms 212 KB Output is partially correct
17 Partially correct 1 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 1 ms 212 KB Output is partially correct
21 Partially correct 1 ms 212 KB Output is partially correct
22 Partially correct 1 ms 212 KB Output is partially correct
23 Partially correct 0 ms 212 KB Output is partially correct
24 Partially correct 1 ms 212 KB Output is partially correct
25 Partially correct 1 ms 212 KB Output is partially correct
26 Partially correct 1 ms 212 KB Output is partially correct
27 Partially correct 1 ms 296 KB Output is partially correct
28 Partially correct 1 ms 212 KB Output is partially correct
29 Partially correct 0 ms 304 KB Output is partially correct
30 Partially correct 1 ms 212 KB Output is partially correct
31 Partially correct 1 ms 212 KB Output is partially correct
32 Partially correct 1 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 1 ms 212 KB Output is partially correct
36 Partially correct 1 ms 212 KB Output is partially correct
37 Partially correct 1 ms 304 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 1 ms 212 KB Output is partially correct