Submission #936685

# Submission time Handle Problem Language Result Execution time Memory
936685 2024-03-02T14:06:29 Z PagodePaiva Scales (IOI15_scales) C++17
45.4545 / 100
1 ms 600 KB
#include<bits/stdc++.h>
#include "scales.h"

using namespace std;

void init(int T) {
    // cout << T << endl;
    return;
}

void triple(vector <int> &v){
    // cout << v[0] << ' ' << v[1] << ' ' << v[2] << endl;
    int a = getHeaviest(v[0], v[1], v[2]);
    // cout << a << endl;
    int b = getMedian(v[0], v[1], v[2]);
    int c;
    for(auto x : v){
        if(x == a) continue;
        if(x == b) continue;
        c = x;
        break;
    }
    v = {a, b, c};
    return;
}

void orderCoins() {
    vector <int> v1 = {1, 2, 3};
    vector <int> v2 = {4, 5, 6};
    triple(v1);
    // for(auto x : v1){
    //     cout << x << ' ';
    // }
    // cout << endl;
    triple(v2);
    // for(auto x : v2){
    //     cout << x << ' ';
    // }
    // cout << endl;
    int x = getLightest(v1[2], v2[2], v1[1]);
    // cout << x << ' ';
    // cout << v1[2] << ' ' << v2[2] << endl;
    vector <int> res;
    if(x == v1[2]){
        res.push_back(x);
        v1.pop_back();
    }
    else{
        res.push_back(x);
        v2.pop_back();
    }
    // cout << res.back() << ' ';
    while(!v1.empty() and !v2.empty()){
        x = getMedian(res.back(), v1.back(), v2.back());
        if(x == v1.back()) v1.pop_back();
        else v2.pop_back();
        res.push_back(x);
    }
    while(!v1.empty()){
        res.push_back(v1.back());
        v1.pop_back();
    }
    while(!v2.empty()){
        res.push_back(v2.back());
        v2.pop_back();
    }
    int w[6];
    int i = 0;
    for(auto x : res){
        w[i] = x;
        i++;
    }
    // for(int i = 0;i < 6;i++){
    //     cout << w[i] << ' ';
    // }
    answer(w);
    return;
}

Compilation message

scales.cpp: In function 'void init(int)':
scales.cpp:6:15: warning: unused parameter 'T' [-Wunused-parameter]
    6 | void init(int T) {
      |           ~~~~^
scales.cpp: In function 'void orderCoins()':
scales.cpp:69:14: warning: declaration of 'x' shadows a previous local [-Wshadow]
   69 |     for(auto x : res){
      |              ^
scales.cpp:40:9: note: shadowed declaration is here
   40 |     int x = getLightest(v1[2], v2[2], v1[1]);
      |         ^
scales.cpp: In function 'void triple(std::vector<int>&)':
scales.cpp:23:7: warning: 'c' may be used uninitialized in this function [-Wmaybe-uninitialized]
   23 |     v = {a, b, c};
      |     ~~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 348 KB Output is partially correct
2 Partially correct 0 ms 348 KB Output is partially correct
3 Partially correct 0 ms 348 KB Output is partially correct
4 Partially correct 0 ms 348 KB Output is partially correct
5 Partially correct 0 ms 348 KB Output is partially correct
6 Partially correct 0 ms 348 KB Output is partially correct
7 Partially correct 0 ms 348 KB Output is partially correct
8 Partially correct 0 ms 348 KB Output is partially correct
9 Partially correct 0 ms 412 KB Output is partially correct
10 Partially correct 1 ms 348 KB Output is partially correct
11 Partially correct 0 ms 348 KB Output is partially correct
12 Partially correct 0 ms 348 KB Output is partially correct
13 Partially correct 1 ms 344 KB Output is partially correct
14 Partially correct 1 ms 344 KB Output is partially correct
15 Partially correct 0 ms 348 KB Output is partially correct
16 Partially correct 0 ms 348 KB Output is partially correct
17 Partially correct 0 ms 348 KB Output is partially correct
18 Partially correct 0 ms 348 KB Output is partially correct
19 Partially correct 0 ms 348 KB Output is partially correct
20 Partially correct 1 ms 348 KB Output is partially correct
21 Partially correct 0 ms 348 KB Output is partially correct
22 Partially correct 0 ms 348 KB Output is partially correct
23 Partially correct 1 ms 348 KB Output is partially correct
24 Partially correct 0 ms 348 KB Output is partially correct
25 Partially correct 0 ms 348 KB Output is partially correct
26 Partially correct 0 ms 348 KB Output is partially correct
27 Partially correct 0 ms 348 KB Output is partially correct
28 Partially correct 0 ms 348 KB Output is partially correct
29 Partially correct 1 ms 348 KB Output is partially correct
30 Partially correct 0 ms 348 KB Output is partially correct
31 Partially correct 0 ms 348 KB Output is partially correct
32 Partially correct 1 ms 348 KB Output is partially correct
33 Partially correct 0 ms 348 KB Output is partially correct
34 Partially correct 0 ms 348 KB Output is partially correct
35 Partially correct 1 ms 344 KB Output is partially correct
36 Partially correct 1 ms 600 KB Output is partially correct
37 Partially correct 0 ms 348 KB Output is partially correct
38 Partially correct 0 ms 348 KB Output is partially correct
39 Partially correct 0 ms 348 KB Output is partially correct
40 Partially correct 0 ms 348 KB Output is partially correct