Submission #1055038

#TimeUsernameProblemLanguageResultExecution timeMemory
1055038Faisal_SaqibScales (IOI15_scales)C++17
56.25 / 100
1 ms440 KiB
#pragma once #include "scales.h" #include <bits/stdc++.h> using namespace std; mt19937 RNG(chrono::steady_clock::now().time_since_epoch().count()); void answer(int C[]); int getMedian(int A, int B, int C); int getHeaviest(int A, int B, int C); int getLightest(int A, int B, int C); int getNextLightest(int A, int B, int C, int D); void init(int T) { } void orderCoins() { int ap[6]; for(int i=0;i<6;i++) ap[i]=i+1; shuffle(ap,ap+6,RNG); int mx=getHeaviest(ap[0],ap[1],ap[2]); int mi=getLightest(ap[0],ap[1],ap[2]); int mx1=getHeaviest(ap[3],ap[4],ap[5]); int mi1=getLightest(ap[3],ap[4],ap[5]); int md=ap[0]+ap[1]+ap[2]-mx-mi; int md1=ap[3]+ap[4]+ap[5]-mx1-mi1; int a[3]; a[0]=mi; a[1]=md; a[2]=mx; int b[3]; b[0]=mi1; b[1]=md1; b[2]=mx1; int c[6]; int sl=a[0]; int l=a[1]; int pp=0; bool pos=0; // for(int i=0;i<3;i++) // { // cout<<a[i]<<' '; // } // cout<<endl; // for(int i=0;i<3;i++) // { // cout<<b[i]<<' '; // } // cout<<endl; for(int i=0;i<3;i++) { // cout<<"Cur "<<sl<<' '<<l<<' '<<b[i]<<endl; int mid=getMedian(sl,l,b[i]); if(mid==sl) { // it is smaller than c[pp]=b[i]; pp++; // b[i] <= sl <= l } else if(mid==b[i]){ // sl<= b[i] <= l c[pp]=sl; pp++; sl=b[i]; if(!pos) { pos=1; c[pp]=b[i]; pp++; sl=l; l=a[2]; // Saved one query } else if(i==0){ int sv=l; sl=b[i+1]; l=b[i+2]; b[i+2]=sv; i++; } // Optimize // b[i]<=b[i+1] for sure so just sl = l ,sl=a } else if(mid==l){ // We know // sl<=l // l<=b[i]<=b[i+1] // l<=a[2] c[pp]=sl; pp++; sl=l; l=b[i]; if(!pos) { if((i+1)<3) { c[pp]=sl; pp++; sl=b[i]; l=b[i+1]; b[i+1]=a[2]; // number of queries remain same } else{ l=a[2]; i--; // Wasted one query } pos=1; } } } // cout<<sl<<' '<<l<<' '; // cout<<pp<<' '<<pp+1<<endl; c[pp]=sl; c[pp+1]=l; if(!pos) c[pp+2]=a[2]; answer(c); }

Compilation message (stderr)

scales.cpp:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
scales.cpp: In function 'void init(int)':
scales.cpp:11:15: warning: unused parameter 'T' [-Wunused-parameter]
   11 | void init(int T)
      |           ~~~~^
#Verdict Execution timeMemoryGrader output
Fetching results...