Submission #1187627

#TimeUsernameProblemLanguageResultExecution timeMemory
1187627simona1230저울 (IOI15_scales)C++20
55.73 / 100
1 ms328 KiB
#include "scales.h" #include <bits/stdc++.h> using namespace std; void init(int T){} int w[6]; void orderCoins() { vector<int> v1,v2; int x=getHeaviest(4,2,3); int xx=getLightest(4,2,3); v1={xx,9-x-xx,x}; x=getHeaviest(1,5,6); xx=getLightest(1,5,6); v2={xx,12-x-xx,x}; swap(v1,v2); pair<int,int> p[6]; p[0]={1,-1}; p[1]={2,-1}; p[2]={3,-1}; int l=0; for(int i=0;i<3;i++) { if(i&&p[i+2].first==3) { p[i+3]={3,i}; continue; } if(i&&p[i+2].first>=1) { x=getMedian(v1[1],v2[i],v1[2]); if(x==v1[1])p[i+3]={1,i}; else if(x==v2[i])p[i+3]={2,i}; else p[i+3]={3,i}; continue; } x=getMedian(v1[0],v1[1],v2[i]); if(x==v1[0])p[i+3]={0,i}; else if(x==v2[i])p[i+3]={1,i}; else { x=getMedian(v1[1],v2[i],v1[2]); if(x==v2[i])p[i+3]={2,i}; else p[i+3]={3,i}; } } sort(p,p+6); for(int i=0;i<6;i++) { if(p[i].second==-1) w[i]=v1[p[i].first-1]; else w[i]=v2[p[i].second]; } answer(w); }
#Verdict Execution timeMemoryGrader output
Fetching results...