Submission #689796

#TimeUsernameProblemLanguageResultExecution timeMemory
689796mychecksedadScales (IOI15_scales)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> // #include <scales.h> using namespace std; void init(int T){ } void answer(int W[]); 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 verase(int x, vector<int> &v){ for(int i = 0; i < v.size(); ++i){ if(v[i] == x){ v.erase(v.begin() + i); return; } } } void orderCoins() { int W[6]; vector<int> a(3), b(3); a[0] = getLightest(1, 2, 3); a[2] = getHeaviest(1, 2, 3); a[1] = (a[0] != 1 && a[2] != 1 ? 1 : (a[0] != 2 && a[2] != 2 ? 2 : 3)); b[0] = getLightest(4, 5, 6); b[2] = getHeaviest(4, 5, 6); b[1] = (b[0] != 4 && b[2] != 4 ? 4 : (b[0] != 6 && b[2] != 6 ? 6 : 5)); int med = getMedian(a[2], b[2], a[1]); if(med == a[1]){ W[5] = a[2]; W[4] = a[1]; verase(a[2], a); verase(a[1], a); }else if(med == a[2]){ W[5] = b[2]; W[4] = a[2]; verase(a[2], a); verase(b[2], b); }else{ W[5] = a[2]; W[4] = b[2]; verase(a[2], a); verase(b[2], b); } if(a.size() == b.size()){ int med = getMedian(a[1], b[1], a[0]); if(med == a[0]){ W[3] = a[1]; W[2] = a[0]; verase(a[1], a); verase(a[0], a); }else if(med == a[1]){ W[3] = b[1]; W[2] = a[1]; verase(a[1], a); verase(b[1], b); }else{ W[3] = a[1]; W[2] = b[1]; verase(a[1], a); verase(b[1], b); } if(a.size() == b.size()){ int mn = getLightest(a[0], b[0], W[2]); W[0] = mn; W[1] = (mn == a[0] ? b[0] : a[0]); }else{ if(a.empty()) W[0] = b[0], W[1] = b[1]; else W[0] = a[0], W[1] = a[1]; } }else{ // means that a.size == 1 int pos = getNextLightest(b[0], b[1], b[2], a[0]); if(pos == b[0]){ int mn = getLightest(a[0], b[0], W[5]); if(mn == a[0]){ W[0] = a[0]; W[1] = b[0]; W[2] = b[1]; W[3] = b[2]; }else{ W[0] = b[0]; W[1] = b[1]; W[2] = b[2]; W[3] = a[0]; } }else{ W[0] = b[0]; int x = 1; for(int i = 1; i < 3; ++i, x++){ if(pos == b[i]){ W[x] = a[0]; W[x + 1] = b[i]; x++; } } } } answer(W); }

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 verase(int, std::vector<int>&)':
scales.cpp:17:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |  for(int i = 0; i < v.size(); ++i){
      |                 ~~^~~~~~~~~~
scales.cpp: In function 'void orderCoins()':
scales.cpp:58:10: warning: declaration of 'med' shadows a previous local [-Wshadow]
   58 |      int med = getMedian(a[1], b[1], a[0]);
      |          ^~~
scales.cpp:38:9: note: shadowed declaration is here
   38 |     int med = getMedian(a[2], b[2], a[1]);
      |         ^~~
/usr/bin/ld: /tmp/ccqeqbWP.o: in function `orderCoins()':
scales.cpp:(.text+0x128): undefined reference to `getLightest(int, int, int)'
/usr/bin/ld: scales.cpp:(.text+0x142): undefined reference to `getHeaviest(int, int, int)'
/usr/bin/ld: scales.cpp:(.text+0x17c): undefined reference to `getLightest(int, int, int)'
/usr/bin/ld: scales.cpp:(.text+0x197): undefined reference to `getHeaviest(int, int, int)'
/usr/bin/ld: scales.cpp:(.text+0x1cf): undefined reference to `getMedian(int, int, int)'
/usr/bin/ld: scales.cpp:(.text+0x250): undefined reference to `getNextLightest(int, int, int, int)'
/usr/bin/ld: scales.cpp:(.text+0x289): undefined reference to `answer(int*)'
/usr/bin/ld: scales.cpp:(.text+0x32a): undefined reference to `getMedian(int, int, int)'
/usr/bin/ld: scales.cpp:(.text+0x463): undefined reference to `getLightest(int, int, int)'
/usr/bin/ld: scales.cpp:(.text+0x4b8): undefined reference to `getLightest(int, int, int)'
/usr/bin/ld: /tmp/ccrWOESN.o: in function `main':
grader.c:(.text.startup+0x7e): undefined reference to `init'
/usr/bin/ld: grader.c:(.text.startup+0xfb): undefined reference to `orderCoins'
collect2: error: ld returned 1 exit status