Submission #268595

# Submission time Handle Problem Language Result Execution time Memory
268595 2020-08-16T13:28:59 Z A02 Scales (IOI15_scales) C++14
45.4545 / 100
1 ms 384 KB
#include "scales.h"
#include <vector>
#include <set>
#include <algorithm>
#include <utility>
#include <iostream>

using namespace std;

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

void erasev(vector<int> &a, int b){

    for (int i = 0; i < a.size(); i++){
        if (a[i] == b){
            a.erase(a.begin() + i);
        }
    }

}

void orderCoins() {
    /* ... */
    int W[] = {1, 2, 3, 4, 5, 6};

    int l1 = getLightest(1, 2, 3);
    int l2 = getLightest(4, 5, 6);
    int s = 1;
    if (1 == l1){
        s = 2;
    }
    int l = getLightest(l1, l2, s);

    vector<int> remaining;
    for (int i = 1; i <= 6; i++){
        if (i != l){
            remaining.push_back(i);
        }
    }

    l1 = getNextLightest(remaining[0], remaining[1], remaining[2], l);
    l2 = getNextLightest(remaining[4], remaining[3], l1, l);
    W[0] = l;
    W[1] = l2;

    erasev(remaining, l2);

    int l3 = getNextLightest(remaining[0], remaining[1], remaining[2], l2);;
    int l4 = getNextLightest(remaining[3], l, l3, l2);

    W[2] = l4;

    erasev(remaining, l4);
    int l5 = getNextLightest(remaining[0], remaining[1], remaining[2], l4);
    W[3] = l5;

    W[4] = getMedian(remaining[0], remaining[1], remaining[2]);

    erasev(remaining, W[3]);
    erasev(remaining, W[4]);
    W[5] = remaining[0];

    //cout << W[0] << W[1] << W[2] << W[3] << W[4] << W[5] << endl;
    answer(W);
}

Compilation message

scales.cpp: In function 'void init(int)':
scales.cpp:10:15: warning: unused parameter 'T' [-Wunused-parameter]
   10 | void init(int T) {
      |           ~~~~^
scales.cpp: In function 'void erasev(std::vector<int>&, int)':
scales.cpp:17:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     for (int i = 0; i < a.size(); i++){
      |                     ~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 384 KB Output is partially correct
2 Partially correct 1 ms 256 KB Output is partially correct
3 Partially correct 1 ms 256 KB Output is partially correct
4 Partially correct 1 ms 256 KB Output is partially correct
5 Partially correct 1 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 1 ms 256 KB Output is partially correct
9 Partially correct 1 ms 256 KB Output is partially correct
10 Partially correct 1 ms 256 KB Output is partially correct
11 Partially correct 0 ms 256 KB Output is partially correct
12 Partially correct 1 ms 256 KB Output is partially correct
13 Partially correct 0 ms 256 KB Output is partially correct
14 Partially correct 0 ms 256 KB Output is partially correct
15 Partially correct 1 ms 256 KB Output is partially correct
16 Partially correct 1 ms 256 KB Output is partially correct
17 Partially correct 0 ms 256 KB Output is partially correct
18 Partially correct 1 ms 256 KB Output is partially correct
19 Partially correct 0 ms 256 KB Output is partially correct
20 Partially correct 1 ms 256 KB Output is partially correct
21 Partially correct 1 ms 256 KB Output is partially correct
22 Partially correct 1 ms 256 KB Output is partially correct
23 Partially correct 1 ms 256 KB Output is partially correct
24 Partially correct 1 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 0 ms 256 KB Output is partially correct
28 Partially correct 1 ms 256 KB Output is partially correct
29 Partially correct 1 ms 256 KB Output is partially correct
30 Partially correct 1 ms 256 KB Output is partially correct
31 Partially correct 1 ms 256 KB Output is partially correct
32 Partially correct 1 ms 256 KB Output is partially correct
33 Partially correct 1 ms 256 KB Output is partially correct
34 Partially correct 1 ms 256 KB Output is partially correct
35 Partially correct 1 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