제출 #209393

#제출 시각아이디문제언어결과실행 시간메모리
209393autumn_eel저울 (IOI15_scales)C++14
38.54 / 100
6 ms376 KiB
#include "scales.h"
#include <bits/stdc++.h>
#define rep(i,n)for(int i=0;i<(n);i++)
using namespace std;

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

void orderCoins() {
	random_device rnd;
	vector<int>v{1,2,3,4,5,6};
	shuffle(v.begin(),v.end(),rnd);
	int A=getLightest(v[0],v[1],v[2]),B=getMedian(v[0],v[1],v[2]),C=v[0]+v[1]+v[2]-A-B;
	int D=getLightest(v[3],v[4],v[5]),E=getMedian(v[3],v[4],v[5]),F=v[3]+v[4]+v[5]-D-E;
	int nD,nE,nF;

	int x=getNextLightest(A,B,C,D);
	if(x==A){
		if(getLightest(A,B,D)==D)nD=A;
		else nD=-1;
	}
	else nD=x;

	int y=getNextLightest(A,B,C,E);
	if(y==A){
		if(getLightest(A,B,E)==E)nE=A;
		else nE=-1;
	}
	else nE=y;

	int z=getNextLightest(A,B,C,F);
	if(z==A){
		if(getLightest(A,B,F)==F)nF=A;
		else nF=-1;
	}
	else nF=z;

	int As[]{A,B,C},Ds[]{D,E,F},nDs[]{nD,nE,nF};
	int s=0;
	vector<int>ans;
	rep(i,3){
		while(s<3&&nDs[s]==As[i])ans.push_back(Ds[s++]);
		ans.push_back(As[i]);
	}
	while(s<3)ans.push_back(Ds[s++]);
	int W[6]{};
	rep(i,6)W[i]=ans[i];
	answer(W);
}

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

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