#include <bits/stdc++.h>
#include "scales.h"
using namespace std;
using ll = long long;
//int arr[10] = {0, 5, 4, 1, 2, 6, 3};
void init(int t) {
}
/*
int getLightest(int a, int b, int c) {
int mn = min({arr[a], arr[b], arr[c]});
if(mn == arr[a]) return a;
else if(mn == arr[b]) return b;
else return c;
}
int getHeaviest(int a, int b, int c) {
int mn = max({arr[a], arr[b], arr[c]});
if(mn == arr[a]) return a;
else if(mn == arr[b]) return b;
else return c;
}
void answer(vector<int> arr) {
for(auto it : arr) {
cout << it << ' ';
}
}*/
void orderCoins() {
vector<int> a = {1, 2, 3}, b = {4, 5, 6};
int mn = getLightest(1, 2, 3);
int mn1 = getLightest(4, 5, 6);
cout << mn << ' ' << mn1 << '\n';
for(int i = 0; i < 3; i++) {
if(a[i] == mn) a[i] = 1;
}
a[0] = mn;
for(int i = 0; i < 3; i++) {
if(b[i] == mn1) b[i] = 4;
}
b[0] = mn1;
vector<int> ans = {getLightest(mn, mn1, a[1])};
if(ans[0] == mn) {
int mn2 = getLightest(mn1, a[1], a[2]);
ans.push_back(mn2);
}
else {
int mn2 = getLightest(mn, b[1], b[2]);
ans.push_back(mn2);
}
for(auto it : ans) {
if(it <= 3) a.erase(find(a.begin(), a.end(), it));
else b.erase(find(b.begin(), b.end(), it));
}
if(a.size() == 1) {
mn = getLightest(a[0], b[0], b[1]);
ans.push_back(mn);
if(mn <= 3) a.erase(find(a.begin(), a.end(), mn));
else b.erase(find(b.begin(), b.end(), mn));
}
else {
mn = getLightest(a[0], a[1], b[0]);
mn = getLightest(b[0], b[1], a[1]);
ans.push_back(mn);
if(mn <= 3) a.erase(find(a.begin(), a.end(), mn));
else b.erase(find(b.begin(), b.end(), mn));
}
vector<int> c;
for(auto it : a) c.push_back(it);
for(auto it : b) c.push_back(it);
if(b.size() == 3) {
int mx = getHeaviest(b[0], b[1], b[2]);
ans.push_back(b[0]);
b.erase(b.begin());
b.erase(find(b.begin(), b.end(), mx)); ans.push_back(b[0]);
ans.push_back(mx);
}
else {
int mn_now = getLightest(c[0], c[1], c[2]);
int mx_now = getHeaviest(c[0], c[1], c[2]);
ans.push_back(mn_now);
c.erase(find(c.begin(), c.end(), mn_now));
c.erase(find(c.begin(), c.end(), mx_now));
ans.push_back(c[0]);
ans.push_back(mx_now);
}
int ans1[] = {ans[0], ans[1], ans[2], ans[3], ans[4], ans[5]};
answer(ans1);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |