제출 #1211631

#제출 시각아이디문제언어결과실행 시간메모리
1211631ASGA_RedSea저울 (IOI15_scales)C++20
29.46 / 100
1 ms328 KiB
/** * بسم الله الرحمن الرحيم * ﴾ رَبِّ اشْرَحْ لِي صَدْرِي * وَيَسِّرْ لِي أَمْرِي * وَاحْلُلْ عُقْدَةً مِّن لِّسَانِي * يَفْقَهُوا قَوْلِي ﴿ */ /// author : "ASGA" #pragma GCC optimize("Ofast") #include<bits/stdc++.h> using namespace std; using ll=long long; #include "scales.h" void answer(int w[]); int getHeaviest(int a,int b,int c); int getLightest(int a,int b,int c); int getMedian(int a,int b,int c); int getNextLightest(int a,int b,int c,int d); void init(int T){return;} void s(auto s,auto e){ int a=*s,b=*(s+1),c=*(s+2),d=*(s+3); vector<int>o; int q=getLightest(a,b,c); int w=getMedian(a,b,c); o.push_back(q); o.push_back(w); if(q==a)o.push_back(w==b?c:b); if(q==b)o.push_back(w==a?c:a); if(q==c)o.push_back(w==b?a:b); a=o[0],b=o[1],c=o[2]; int ee=getNextLightest(a,b,c,d); if(ee==a){ int r=getHeaviest(a,b,d); if(r==d)o.push_back(d); else o.insert(o.begin(),d); } else{ int i=(ee==b?1:2); o.insert(o.begin()+i,d); } int i=0; while(s!=e)(*s++)=o[i++]; } void orderCoins(){ int a[]={1,2,3,4,5,6}; s(a,a+4); s(a+2,a+6); s(a,a+4); answer(a); return; } //signed main(){ // ios_base::sync_with_stdio(0);cin.tie(0); // // // ; // // // return 0; //}
#Verdict Execution timeMemoryGrader output
Fetching results...