제출 #1270304

#제출 시각아이디문제언어결과실행 시간메모리
1270304vtnooScales (IOI15_scales)C++20
33.33 / 100
0 ms328 KiB
#include <bits/stdc++.h> #include "scales.h" using namespace std; void init(int T){ } void orderCoins(){ int N=6, jj=0; vector<bool> used(N+1, false); vector<int> ord(N); 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++){ if((int)go.size()==2)go.clear(); go.push_back(to_compare[j]); if(go.size()==2) mn=getLightest(mn, go[0], go[1]); } 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]); 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...