Submission #256600

# Submission time Handle Problem Language Result Execution time Memory
256600 2020-08-02T22:28:07 Z oscarsierra12 Scales (IOI15_scales) C++14
71.4286 / 100
1 ms 384 KB
#include "scales.h"
#include <bits/stdc++.h>

using namespace std ;


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

}

void orderCoins() {
    /* ... */
    vector<int> coins, W ;
    int x;
    for ( int i = 1 ; i < 7 ; ++i ) coins.push_back(i) ;
    for ( int i = 2 ; i < 6 ; i += 2 ) {
        x = getLightest(coins[1], coins[i], coins[i+1]) ;
        if (x == coins[i]) swap(coins[1], coins[i]) ;
        if (x == coins[i+1]) swap(coins[1], coins[i+1]) ;
    }
    x = getHeaviest(coins[2], coins[3], coins[4]) ;
    set<int> cual ;
    for (int i = 2 ; i < 5 ; ++i) cual.insert(coins[i]) ;
    for ( int i = 2 ; i < 5 ; ++i ) {
        if (x != coins[i]) continue ;
        swap(coins[i], coins[5]) ;
        break ;
    }
    x = getNextLightest(coins[2], coins[3], coins[4], coins[1]) ;
    for ( int i = 2 ; i < 5 ; ++i ) {
        if (x != coins[i]) continue ;
        swap(coins[i], coins[2]) ;
        break ;
    }
    if (cual.count(coins[3]) && cual.count(coins[4])) {
        x = getLightest(coins[3], coins[4], coins[5]) ;
        if (x == coins[4]) swap(coins[3], coins[4]);
    }
    else {
        x = getMedian(coins[3], coins[4], coins[5]) ;
        if (x == coins[5]) {
            if (cual.count(coins[4])) swap(coins[3], coins[4]) ;
            swap(coins[4], coins[5]) ;
        }
        else if (cual.count(x)) {
            if(cual.count(coins[3])) swap(coins[3], coins[4]) ;
        }
        else if (cual.count(coins[4])) swap(coins[3],coins[4]) ;
    }
    x = getMedian(coins[0], coins[2], coins[4]) ;
    if(x == coins[2]) {
        x = getLightest(coins[0], coins[1], coins[2]) ;
        W.push_back(coins[0]) ;
        W.push_back(coins[1]) ;
        if (x == coins[1]) swap(W[0], W[1]) ;
        for ( int i = 2 ; i < 6 ; ++i ) W.push_back(coins[i]) ;
    }
    else if (x == coins[4]) {
        x = getHeaviest(coins[0], coins[5], coins[4]) ;
        for ( int i = 1 ; i < 5 ; ++i ) W.push_back(coins[i]) ;
        W.push_back(coins[0]) ;
        W.push_back(coins[5]) ;
        if (x == coins[0]) swap(W[4], W[5]) ;
    }
    else {
        x = getNextLightest(coins[2], coins[3], coins[4], coins[0]) ;
        for ( int i = 1 ; i < 6 ; ++i ) {
            if (x != coins[i]) {
                W.push_back(coins[i]) ;
                continue ;
            }
            W.push_back(coins[0]) ;
            for ( int j = i ; j < 6 ; ++j) W.push_back(coins[j]) ;
            break ;
        }
    }
    int Wr[] = {W[0], W[1], W[2], W[3], W[4], W[5]};
    answer(Wr);
}

///6 2 3 5 4 1

Compilation message

scales.cpp: In function 'void init(int)':
scales.cpp:7:15: warning: unused parameter 'T' [-Wunused-parameter]
 void init(int T) {
               ^
# Verdict Execution time Memory Grader output
1 Partially correct 0 ms 256 KB Output is partially correct
2 Partially correct 0 ms 256 KB Output is partially correct
3 Partially correct 0 ms 256 KB Output is partially correct
4 Partially correct 0 ms 256 KB Output is partially correct
5 Partially correct 0 ms 256 KB Output is partially correct
6 Partially correct 0 ms 256 KB Output is partially correct
7 Partially correct 0 ms 256 KB Output is partially correct
8 Partially correct 0 ms 256 KB Output is partially correct
9 Partially correct 0 ms 256 KB Output is partially correct
10 Partially correct 0 ms 256 KB Output is partially correct
11 Partially correct 0 ms 256 KB Output is partially correct
12 Partially correct 0 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 0 ms 256 KB Output is partially correct
16 Partially correct 0 ms 256 KB Output is partially correct
17 Partially correct 0 ms 256 KB Output is partially correct
18 Partially correct 0 ms 256 KB Output is partially correct
19 Partially correct 0 ms 256 KB Output is partially correct
20 Partially correct 0 ms 256 KB Output is partially correct
21 Partially correct 0 ms 256 KB Output is partially correct
22 Partially correct 0 ms 256 KB Output is partially correct
23 Partially correct 0 ms 256 KB Output is partially correct
24 Partially correct 0 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 0 ms 256 KB Output is partially correct
29 Partially correct 1 ms 384 KB Output is partially correct
30 Partially correct 1 ms 256 KB Output is partially correct
31 Partially correct 0 ms 256 KB Output is partially correct
32 Partially correct 1 ms 256 KB Output is partially correct
33 Partially correct 0 ms 256 KB Output is partially correct
34 Partially correct 0 ms 256 KB Output is partially correct
35 Partially correct 0 ms 256 KB Output is partially correct
36 Partially correct 0 ms 256 KB Output is partially correct
37 Partially correct 0 ms 256 KB Output is partially correct
38 Partially correct 1 ms 256 KB Output is partially correct
39 Partially correct 0 ms 256 KB Output is partially correct
40 Partially correct 0 ms 256 KB Output is partially correct