Submission #1270329

#TimeUsernameProblemLanguageResultExecution timeMemory
1270329vtnooScales (IOI15_scales)C++20
45.45 / 100
0 ms332 KiB
#include <bits/stdc++.h> #include "scales.h" using namespace std; int tt; void init(int T){ tt=T; } void orderCoins(){ int N=6, jj=0; vector<bool> used(N+1, false); vector<int> ord(N); int numque=0; for(int i=1;i<=4;i++){ /* cout<<"=============="<<endl; cout<<i<<endl; */ vector<int> to_compare; for(int j=1;j<=N;j++){ if(!used[j])to_compare.push_back(j); } vector<int> go; int mn=to_compare[0]; for(int j=1;j<(int)to_compare.size();j++){ go.push_back(to_compare[j]); if(go.size()==2){ mn=getLightest(mn, go[0], go[1]); numque++; go.clear(); } } if(!go.empty()&&to_compare.size()>1){ for(int j=0;j<(int)to_compare.size();j++){ if(to_compare[j]!=mn&&mn!=go[0]&&to_compare[j]!=go[0]){/* cout<<"LAST "<<to_compare[j]<<" "<<mn<<" "<<go[0]<<endl; */ mn=getLightest(to_compare[j], mn, go[0]); numque++; break; } } } ord[jj++]=mn; used[mn]=true; } int last=ord[jj-1]; vector<int> c0; for(int i=1;i<=N;i++){ if(!used[i]){ c0.push_back(i); } } ord[jj++]=getMedian(last, c0[0], c0[1]); ord[jj]=(ord[jj-1]==c0[0]?c0[1]:c0[0]); answer(ord.data()); }
#Verdict Execution timeMemoryGrader output
Fetching results...