제출 #785261

#제출 시각아이디문제언어결과실행 시간메모리
785261alexander707070저울 (IOI15_scales)C++14
45.45 / 100
1 ms224 KiB
#include<bits/stdc++.h>
#include "scales.h"
using namespace std;

int w[10],z[10],s[10],ans[6];
bool used[10];

void init(int T) {
    
}

void orderCoins() {
    /* ... */

    for(int i=1;i<=6;i++){
        used[i]=false;
    }


    int a=getLightest(1,2,3);
    int b=getLightest(4,5,6);

    int c=0;

    if(a>1 and b>1)c=getLightest(a,b,1);
    else if(a<6 and b<6)c=getLightest(a,b,6);
    else c=getLightest(a,b,2);

    int r=0;
    if(c==1)r=getLightest(b,2,3);
    if(c==2)r=getLightest(b,1,3);
    if(c==3)r=getLightest(b,1,2);

    if(c==4)r=getLightest(a,5,6);
    if(c==5)r=getLightest(a,4,6);
    if(c==6)r=getLightest(a,4,5);

    w[1]=c; w[2]=r;
    used[c]=used[r]=true;

    int pt=0;
    for(int i=1;i<=6;i++){
        if(!used[i]){
            pt++; z[pt]=i;
        }
    }
    
    int d=getHeaviest(z[1],z[2],c);
    int e=getHeaviest(z[3],z[4],r);
    int f=getHeaviest(d,e,c);

    int k=0;
    if(f==z[1])k=getHeaviest(e,z[2],c);
    if(f==z[2])k=getHeaviest(e,z[1],c);

    if(f==z[3])k=getHeaviest(d,z[4],r);
    if(f==z[4])k=getHeaviest(d,z[3],r);

    w[6]=f; w[5]=k;
    used[f]=used[k]=true;

    pt=0;
    for(int i=1;i<=6;i++){
        if(!used[i]){
            pt++; s[pt]=i;
        }
    }

    int x=getMedian(s[1],s[2],c);

    if(x==s[1]){
        w[3]=s[1]; w[4]=s[2];
    }else{
        w[3]=s[2]; w[4]=s[1];
    }

    for(int i=0;i<6;i++){
        ans[i]=w[i+1];
    }

    answer(ans);

    return;
}

컴파일 시 표준 에러 (stderr) 메시지

scales.cpp: In function 'void init(int)':
scales.cpp:8:15: warning: unused parameter 'T' [-Wunused-parameter]
    8 | void init(int T) {
      |           ~~~~^
#Verdict Execution timeMemoryGrader output
Fetching results...