Submission #1260933

#TimeUsernameProblemLanguageResultExecution timeMemory
1260933kl0989eScales (IOI15_scales)C++20
0 / 100
0 ms320 KiB
#include "scales.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define pb push_back #define vi vector<int> #define vl vector<ll> #define pi pair<int, int> #define pl pair<ll,ll> #define all(x) (x).begin(),(x).end() void init(int t) {} void orderCoins() { int mn1=getLightest(1,2,3); int mn2=getLightest(4,5,6); int ans[6]; ans[0]=getLightest(mn1,mn2,1+(mn1==1)+(mn2==1)+(mn1==2)+(mn2==2)); if (ans[0]==mn1) { ans[1]=getLightest(mn2,(mn1==1?2:1),(mn1==3?2:3)); } else { ans[1]=getLightest(mn1,(mn2==4?5:4),(mn2==6?5:6)); } if ((mn1==ans[0] && mn2==ans[1]) || (mn2==ans[0] && mn1==ans[1])) { vi rem={1,2,3,4,5,6}; rem.erase(find(all(rem),ans[0])); rem.erase(find(all(rem),ans[1])); int mn3=getLightest(rem[0],rem[1],rem[2]); ans[2]=getMedian(mn1,mn3,rem[3]); if (ans[2]==rem[3]) { ans[3]=mn3; ans[4]=getMedian(rem[0],rem[1],rem[2]); ans[5]=21-accumulate(ans,ans+6,0); answer(ans); return; } } else if (mn1==ans[0]) { ans[2]=getMedian(mn1,mn2,6-ans[0]-ans[1]); } else { ans[2]=getMedian(mn1,mn2,15-ans[0]-ans[1]); } vi rem={1,2,3,4,5,6}; rem.erase(find(all(rem),ans[0])); rem.erase(find(all(rem),ans[1])); rem.erase(find(all(rem),ans[2])); ans[3]=getLightest(rem[0],rem[1],rem[2]); ans[4]=getMedian(rem[0],rem[1],rem[2]); ans[5]=21-accumulate(ans,ans+6,0); answer(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...