Submission #520070

#TimeUsernameProblemLanguageResultExecution timeMemory
520070drkarlicio2107Minerals (JOI19_minerals)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "minerals.h" using namespace std; vector <int> a, b; int cnt=0; int diff (int x){ int a=Query (x); if (a!=cnt){ cnt=a; return 1; } else{ cnt=a; return 0; } } int solve (vector <int> a, vector <int> b, int x){ random_shuffle (a.begin(), a.end()); random_shuffle (b.begin(), b.end()); if (a.size()==1){ Answer (a[0], b[0]); return 0; } int mid=a.size()/2; vector <int> a1, a2, b1, b2; for(int i=0; i<a.size(); i++){ if(i<mid) a1.push_back(a[i]); else a2.push_back(a[i]); if((i>=mid)^x) diff(a[i]); } for (int i=0; i<b.size(); i++){ if (b1.size()==a1.size()) b2.push_back(b[i]); else if (b2.size()==a2.size()) b1.push_back(b[i]); else if ((diff (b[i])) b1.push_back(b[i]); else b2.push_back(b[i]); } solve (a1, b1, 0); solve (a2, b2, 1); } void Solve(int n){ for (int i=1; i<2*n+1; i++){ if (diff (i)) b.push_back(i); else a.push_back(i); } solve (a,b,1); }

Compilation message (stderr)

minerals.cpp: In function 'int solve(std::vector<int>, std::vector<int>, int)':
minerals.cpp:22:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |  for(int i=0; i<a.size(); i++){
      |               ~^~~~~~~~~
minerals.cpp:27:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |  for (int i=0; i<b.size(); i++){
      |                ~^~~~~~~~~
minerals.cpp:30:12: warning: init-statement in selection statements only available with '-std=c++17' or '-std=gnu++17'
   30 |   else if ((diff (b[i])) b1.push_back(b[i]);
      |            ^
minerals.cpp:30:25: error: expected ';' before 'b1'
   30 |   else if ((diff (b[i])) b1.push_back(b[i]);
      |                         ^~~
      |                         ;
minerals.cpp:31:3: error: expected primary-expression before 'else'
   31 |   else b2.push_back(b[i]);
      |   ^~~~
minerals.cpp:30:45: error: expected ')' before 'else'
   30 |   else if ((diff (b[i])) b1.push_back(b[i]);
      |           ~                                 ^
      |                                             )
   31 |   else b2.push_back(b[i]);
      |   ~~~~                                       
minerals.cpp:21:15: warning: control reaches end of non-void function [-Wreturn-type]
   21 |  vector <int> a1, a2, b1, b2;
      |               ^~