Submission #596944

# Submission time Handle Problem Language Result Execution time Memory
596944 2022-07-15T09:44:10 Z PiejanVDC Scales (IOI15_scales) C++17
47.0455 / 100
1 ms 212 KB
#include "scales.h"
#include <bits/stdc++.h>
using namespace std;

void init(int t) {

}

void orderCoins() {
    int vis[7][7][7];

    for(int i = 1 ; i <= 6 ; i++)
        for(int j = 1 ; j <= 6 ; j++)
            for(int k = 1 ; k <= 6 ; k++)
                vis[i][j][k] = 0;

    int ans[6] = {1, 2, 3, 4, 5, 6};

    int a = getLightest(1, 2, 3);
    vis[1][2][3] = a;
    int b = getLightest(4, 5, 6);
    vis[4][5][6] = b;
    int c;
    for(int i = 1 ; i <= 6 ; i++) if(i != a && i != b)
        c = i;
    ans[0] = getLightest(a, b, c);
    vis[a][b][c] = ans[0];

    vector<int>r;
    for(int i = 1 ; i <= 6 ; i++) if(i != ans[0])
        r.push_back(i);

    int d;
    if(vis[r[2]][r[3]][r[4]])
        d = vis[r[2]][r[3]][r[4]];
    else
        d = vis[r[2]][r[3]][r[4]] = getLightest(r[2], r[3], r[4]);

    if(vis[r[0]][r[1]][d])
        a = vis[r[0]][r[1]][d];
    else
        a = vis[r[0]][r[1]][d] = getLightest(r[0], r[1], d);
    ans[1] = a;

    r.clear();
    for(int i = 1 ; i <= 6 ; i++) if(i != ans[0] && i != ans[1])
        r.push_back(i);

    if(vis[r[0]][r[1]][r[2]])
        a = vis[r[0]][r[1]][r[2]];
    else
    a = vis[r[0]][r[1]][r[2]] = getLightest(r[0], r[1], r[2]);
    r.clear();

    for(int i = 1 ; i <= 6 ; i++) if(i != ans[0] && i != ans[1] && i != a)
        r.push_back(i);

    if(vis[a][r[0]][r[2]])
        ans[2] = vis[a][r[0]][r[2]];
    else
        ans[2] = vis[a][r[0]][r[2]] = getLightest(a, r[0], r[2]);

    r.clear();
    for(int i = 1 ; i <= 6 ; i++) if(i != ans[0] && i != ans[1] && i != ans[2])
        r.push_back(i);

    if(vis[r[0]][r[1]][r[2]])
        ans[3] = vis[r[0]][r[1]][r[2]];
    else
        ans[3] = vis[r[0]][r[1]][r[2]] = getLightest(r[0], r[1], r[2]);

    r.clear();
    for(int i = 1 ; i <= 6 ; i++) if(i != ans[0] && i != ans[1] && i != ans[2] && i != ans[3])
        r.push_back(i);

    ans[5] = getHeaviest(r[0], r[1], ans[0]);

    for(int i = 1 ; i <= 6 ; i++) if(i != ans[0] && i != ans[1] && i != ans[2] && i != ans[3] && i != ans[5])
        ans[4] = i;

    answer(ans);
}

Compilation message

scales.cpp: In function 'void init(int)':
scales.cpp:5:15: warning: unused parameter 't' [-Wunused-parameter]
    5 | void init(int t) {
      |           ~~~~^
scales.cpp: In function 'void orderCoins()':
scales.cpp:27:18: warning: 'c' may be used uninitialized in this function [-Wmaybe-uninitialized]
   27 |     vis[a][b][c] = ans[0];
      |     ~~~~~~~~~~~~~^~~~~~~~
# Verdict Execution time Memory Grader output
1 Partially correct 0 ms 212 KB Output is partially correct
2 Partially correct 1 ms 212 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 0 ms 212 KB Output is partially correct
6 Partially correct 0 ms 212 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 212 KB Output is partially correct
15 Partially correct 0 ms 212 KB Output is partially correct
16 Partially correct 0 ms 212 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 1 ms 212 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 212 KB Output is partially correct
26 Partially correct 1 ms 212 KB Output is partially correct
27 Partially correct 1 ms 212 KB Output is partially correct
28 Partially correct 1 ms 212 KB Output is partially correct
29 Partially correct 1 ms 212 KB Output is partially correct
30 Partially correct 0 ms 212 KB Output is partially correct
31 Partially correct 0 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 0 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 0 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