# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1017271 | parsadox2 | 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 <bits/stdc++.h>
#include "scales.h"
using namespace std;
int tc;
void init(int T)
{
tc = T;
}
void orderCoins()
{
int mn = 1 , mx = 2;
vector <int> vec;
for(int i = 3 ; i <= 6 ; i++)
{
//cout << mn << " " << i << " " << mx << endl;
int mid = getMedian(mn , i , mx);
if(mid == mn)
{
vec.push_back(mn);
mn = i;
}
else if(mid == mx)
{
vec.push_back(mx);
mx = i;
}
else
{
vec.push_back(i);
}
}
if(mn != getLightest(mn , vec[0] , mx))
swap(mn , mx);
//cout << mn << " " << vec[0] << " " << mx << endl;
int id = getMedian(vec[1] , vec[2] , vec[3]);
//cout << vec[1]
if(id == vec[1])
swap(vec[1] , vec[2]);
else if(id == vec[3])
swap(vec[3] , vec[2]);
id = getLightest(vec[0] , vec[1] , vec[3]);
if(id == vec[0])
{
id = getLightest(vec[1] , vec[2] , vec[3]);
if(id != vec[1])
swap(vec[1] , vec[3]);
}
else
{
if(id == vec[3])
swap(vec[1] , vec[3]);
swap(vec[1] , vec[0]);
int bad = vec[1];
id = getNextLightest(vec[2] , vec[3] , mx , bad);
if(id == mx)
{
vec[1] = vec[2];
vec[2] = vec[3];
vec[3] = bad;
}
else if(id == vec[3])
swap(vec[1] , vec[2]);
}
int W[6];
W[0] = mn; W[5] = mx;
for(int i = 1 ; i < 5 ; i++)
W[i] = vec[i - 1];
answer(W);
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |