# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
63287 | hamzqq9 | 저울 (IOI15_scales) | C++14 | 3 ms | 616 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "scales.h"
void init(int T) {
/* ... */
}
void orderCoins() {
int W[6] = {1, 2, 3, 4, 5, 6};
int mn1=getLightest(1,2,3);
int mx1=getHeaviest(1,2,3);
int md1=6-mn1-mx1;
W[0]=mn1;W[1]=md1;W[2]=mx1;
int mn2=getLightest(4,5,6);
int mx2=getHeaviest(4,5,6);
int md2=15-mn2-mx2;
W[3]=mn2;W[4]=md2;W[5]=mx2;
int bas1=0,bas2=3;
int TMP[6];
int cur=0;
while(bas1<3 || bas2<6) {
if(bas1==3) {
for(int i=bas2;i<6;i++) TMP[cur++]=W[i];
break ;
}
if(bas2==6) {
for(int i=bas1;i<3;i++) TMP[cur++]=W[i];
break ;
}
if(bas1+1<3) {
int mn=getLightest(W[bas1],W[bas1+1],W[bas2]);
if(mn==W[bas1]) {
TMP[cur++]=W[bas1++];
}
else {
TMP[cur++]=W[bas2++];
}
}
else if(bas2+1<6) {
int mn=getLightest(W[bas1],W[bas2+1],W[bas2]);
if(mn==W[bas1]) {
TMP[cur++]=W[bas1++];
}
else {
TMP[cur++]=W[bas2++];
}
}
else {
int mx=getHeaviest(W[bas1],W[bas2],TMP[0]);
if(mx==W[bas1]) {
TMP[cur++]=W[bas2++];
TMP[cur++]=W[bas1++];
}
else {
TMP[cur++]=W[bas1++];
TMP[cur++]=W[bas2++];
}
}
}
answer(TMP);
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |