# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1017240 | amirhoseinfar1385 | Scales (IOI15_scales) | C++17 | 1 ms | 600 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>
using namespace std;
vector<int>ret;
void init(int T) {
/* ... */
ret.resize(7);
}
void jab(int u,int ind){
for(int i=1;i<=6;i++){
if(ret[i]==u){
swap(ret[i],ret[ind]);
return ;
}
}
}
void ghabl(int u,int v){
vector<int>fake;
fake.push_back(0);
for(int i=1;i<=6;i++){
if(ret[i]==u){
continue;
}
if(ret[i]==v){
fake.push_back(u);
}
fake.push_back(ret[i]);
}
ret=fake;
}
void orderCoins() {
/* ... */
int res[] = {1, 2, 3, 4, 5, 6};
for(int i=1;i<=6;i++){
ret[i]=i;
}
int h1=getHeaviest(1,2,3);
int l1=getLightest(1,2,3);
int h2=getHeaviest(4,5,6);
int l2=getLightest(4,5,6);
jab(h1,3);
jab(l1,1);
jab(h2,6);
jab(l2,4);
int r=6;
while(r>=4&&getHeaviest(h1,l1,ret[r])==ret[r]){
r--;
}
for(int i=4;i<=r;i++){
int z=getNextLightest(1,2,3,ret[i]);
ghabl(ret[i],z);
}
for(int i=0;i<6;i++){
res[i]=ret[i+1];
}
answer(res);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |