Submission #707875

#TimeUsernameProblemLanguageResultExecution timeMemory
707875abcvuitunggioScales (IOI15_scales)C++17
Compilation error
0 ms0 KiB
#include "scales.h" #include <bits/stdc++.h> //#define NAM using namespace std; void init(int T) { /* ... */ } #ifdef NAM vector <int> order={4,2,3,5,1,6}; int w[7],cnt; int getLightest(int i, int j, int k){ cnt++; if (w[i]<w[j]&&w[i]<w[k]) return i; return (w[j]<w[k]?j:k); } int getHeaviest(int i, int j, int k){ cnt++; if (w[i]>w[j]&&w[i]>w[k]) return i; return (w[j]>w[k]?j:k); } int getMedian(int i, int j, int k){ cnt--; return i+j+k-getLightest(i,j,k)-getHeaviest(i,j,k); } int getNextLightest(int i, int j, int k, int l){ if (w[l]>max(w[i],max(w[j],w[k]))) return getLightest(i,j,k); cnt++; int mn=100,res=-1; if (w[i]>w[l]&&mn>w[i]){ mn=w[i]; res=i; } if (w[j]>w[l]&&mn>w[j]){ mn=w[j]; res=j; } if (w[k]>w[l]&&mn>w[k]){ mn=w[k]; res=k; } return res; } void answer(int W[]){ for (int i=0;i<6;i++) cout << W[i] << ' '; } #endif void orderCoins() { /* ... */ int W[] = {1, 2, 3, 4, 5, 6}; vector <int> A; A.push_back(getLightest(1,2,3)); A.push_back(getMedian(1,2,3)); A.push_back(6-A[0]-A[1]); int x=getHeaviest(A[0],A[1],4); if (x==4){ int y=getHeaviest(A[1],A[2],4); if (y==4) A.push_back(4); else A.insert(A.begin()+2,4); } else{ int y=getLightest(4,A[0],A[1]); A.insert(A.begin()+(y==A[0]),4); } x=getNextLightest(A[1],A[2],A[3],5); if (x==A[3]) A.insert(A.begin()+3,5); else if (x==A[2]) A.insert(A.begin()+2,5); else{ int x=getMedian(A[0],A[1],5); A.insert(A.begin()+(x==A[0]?0:(x==A[1]?4:1)),5); } x=getNextLightest(A[2],A[3],A[4],6); if (x==A[3]||x==A[4]) A.insert(A.begin()+3+(x==A[4]),6); else{ int x=getMedian(A[1],A[2],6); if (x!=A[1]) A.insert(A.begin()+(x==6?2:5),6); else{ x=getLightest(A[0],6,A[1]); A.insert(A.begin()+(x==A[0]),6); } } for (int i=0;i<6;i++) w[i]=A[i]; answer(w); } #ifdef NAM int main(){ for (int i=0;i<order.size();i++) w[order[i]]=i+1; orderCoins(); cout << '\n' << cnt; } #endif // NAM

Compilation message (stderr)

scales.cpp: In function 'void init(int)':
scales.cpp:5:15: warning: unused parameter 'T' [-Wunused-parameter]
    5 | void init(int T) {
      |           ~~~~^
scales.cpp: In function 'void orderCoins()':
scales.cpp:76:13: warning: declaration of 'x' shadows a previous local [-Wshadow]
   76 |         int x=getMedian(A[0],A[1],5);
      |             ^
scales.cpp:58:9: note: shadowed declaration is here
   58 |     int x=getHeaviest(A[0],A[1],4);
      |         ^
scales.cpp:83:13: warning: declaration of 'x' shadows a previous local [-Wshadow]
   83 |         int x=getMedian(A[1],A[2],6);
      |             ^
scales.cpp:58:9: note: shadowed declaration is here
   58 |     int x=getHeaviest(A[0],A[1],4);
      |         ^
scales.cpp:92:9: error: 'w' was not declared in this scope
   92 |         w[i]=A[i];
      |         ^
scales.cpp:93:12: error: 'w' was not declared in this scope
   93 |     answer(w);
      |            ^
scales.cpp:53:9: warning: unused variable 'W' [-Wunused-variable]
   53 |     int W[] = {1, 2, 3, 4, 5, 6};
      |         ^