Submission #133822

# Submission time Handle Problem Language Result Execution time Memory
133822 2019-07-21T13:22:27 Z Runtime_error_ Scales (IOI15_scales) C++14
33.3333 / 100
2 ms 396 KB
#include "scales.h"
#include <bits/stdc++.h>
using namespace std;
int larger[8][8],tmp[] = {1,2,3},tmp2[] = {4,5,6};

void init(int T) {
    memset(larger,-1,sizeof(larger));
}

void modify(int x,int y){

    larger[x][y] = 0;
    larger[y][x] = 1;
}

void modify(int a,int b,int c){

    larger[c][b] = larger[c][a] = 1;
    larger[b][c] = larger[a][c] = 0;
    larger[b][a] = 1 , larger[a][b] = 0;

}

void ask(int x,int y,int z){

    int a,b,c;
    a = getLightest(x,y,z);
    c = getHeaviest(x,y,z);
    if( (a == x && c == z) || (c == x && a == z))
        b = y;
    else if( (a == y && c == z) || (a == z && c == y) )
        b = x;
    else
         b = z;
    modify(a,b,c);
}

bool cmp(int x,int y){

    return larger[y][x];
}

void loop(int cur){

    if(!larger[tmp[2]][cur]){
        for(int i=0;i<3;i++)
            modify(tmp[i],cur);
        return ;
    }
    int x = getNextLightest(1,2,3,cur) , i;

    for(i=0;i<3;i++){
        if(tmp[i] == x)
            break;
        modify(tmp[i],cur);
    }
    for(;i<3;i++)
        modify(cur,tmp[i]);
}

void orderCoins() {


    int W [] = {1,2,3,4,5,6};
    ask(1,2,3);
    ask(4,5,6);
    sort(tmp,tmp+3,cmp);
    sort(tmp2,tmp2+3,cmp);
    ask(tmp[2],4,5);
    ask(tmp[2],5,6);

    for(int i=4;i<=6;i++)
        loop(i);


    sort(W,W+6,cmp);
    answer(W);
}

Compilation message

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