Submission #1242115

#TimeUsernameProblemLanguageResultExecution timeMemory
1242115kussiaScales (IOI15_scales)C++20
0 / 100
0 ms320 KiB
#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 timeMemoryGrader output
Fetching results...