제출 #1270265

#제출 시각아이디문제언어결과실행 시간메모리
1270265vtnoo저울 (IOI15_scales)C++20
0 / 100
1 ms320 KiB
#include "scales.h" #include <bits/stdc++.h> using namespace std; void init(int T) { /* ... */ } void orderCoins(){ int N=6, ord[N+1], jj=0; vector<bool> used(N+1, false); for(int i=1;i<=4;i++){ 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&&to_compare[j]!=go[0]){ 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); }
#Verdict Execution timeMemoryGrader output
Fetching results...