# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
209393 | autumn_eel | Scales (IOI15_scales) | C++14 | 6 ms | 376 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |