Submission #1301815

#TimeUsernameProblemLanguageResultExecution timeMemory
1301815nicolo_010저울 (IOI15_scales)C++20
0 / 100
0 ms332 KiB
#include <bits/stdc++.h> #include "scales.h" using namespace std; using ll = long long; using pii = pair<int, int>; void init(int t) { return; } void orderCoins() { vector<int> p(6); set<int> full; set<int> l, r; for (int i=1; i<=6; i++) { full.insert(i); if (i <= 3) { l.insert(i); } else { r.insert(i); } } int lmn = getLightest(1, 2, 3); int rmn = getLightest(4, 5, 6); l.erase(lmn); r.erase(rmn); int mn = getLightest(lmn, rmn, *l.begin()); full.erase(mn); p[0] = mn; if (mn == lmn) { int a=-1, b=-1; for (auto x : l) { if (a==-1) { a=x; } else { b=x; } } mn = getLightest(rmn, a, b); p[1] = mn; full.erase(mn); int md = getMedian(4, 5, 6); if (mn == a) { mn = getLightest(rmn, b, md); p[2] = mn; full.erase(mn); } else if (mn == rmn) { mn = getLightest(a, b, md); p[2] = mn; full.erase(mn); } else { mn = getLightest(rmn, a, md); p[2] = mn; full.erase(mn); } } if (mn == rmn) { int a=-1, b=-1; for (auto x : r) { if (a==-1) { a=x; } else { b=x; } } mn = getLightest(lmn, a, b); p[1] = mn; full.erase(mn); int md = getMedian(1, 2, 3); if (mn == a) { mn = getLightest(lmn, b, md); p[2] = mn; full.erase(mn); } else if (mn == lmn) { mn = getLightest(a, b, md); p[2] = mn; full.erase(mn); } else { mn = getLightest(lmn, a, md); p[2] = mn; full.erase(mn); } } int a, b, c; a=b=c=-1; for (auto x : full) { if (a==-1) { a=x; } else if (b==-1) { b=x; } else { c=x; } } mn = getLightest(a, b, c); p[3] = mn; full.erase(mn); int mx = getHeaviest(a, b, c); full.erase(mx); p[5] = mx; p[4] = *full.begin(); int ans[6]; for (int i=0; i<6; i++) { ans[i] = p[i]; } answer(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...