Submission #1183506

#TimeUsernameProblemLanguageResultExecution timeMemory
1183506PagodePaivaRarest Insects (IOI22_insects)C++20
Compilation error
0 ms0 KiB
#include "insects.h" #include<bits/stdc++.h> using namespace std; const int N = 2010; int cnt[N]; vector <int> rep; set <int> simulate; void moveinside(int pos){ if(simulate.find(pos) != simulate.end()) return; simulate.insert(pos); move_inside(pos); } void moveoutside(int pos){ if(simulate.find(pos) == simulate.end()) return; simulate.erase(pos); move_outside(pos); } void solve(int l, int r, vector <int> ask, int ans){ if(l == r){ cnt[rep[l]] = ask.size()+1; return; } // quero que [l, mid] ja esteja na maquina vector <int> v1, v2; int mid = (l+r)/2; for(int i = mid+1;i <= r;i++){ moveoutside(rep[i]); } for(auto x : ask){ moveinside(x); int val = press_button(); moveoutside(x); if(val > 1) v1.push_back(x); else v2.push_back(x); } solve(l, mid, v1); if(mid+1 < r){ for(int i = l;i <= r;i++){ if(i <= mid){ moveoutside(rep[i]); } else{ moveinside(rep[i]); } } } solve(mid+1, r, v2); return; } int min_cardinality(int n) { rep.push_back(0); moveinside(0); vector <int> at; for(int i = 1;i < n;i++){ moveinside(i); int v = press_button(); if(v > 1) { moveoutside(i); at.push_back(i); } else{ rep.push_back(i); } } solve(0, rep.size()-1,at); int ans = 1e9; for(auto x : rep){ //cout << cnt[x] << ' '; ans = min(ans, cnt[x]); } return ans; }

Compilation message (stderr)

insects.cpp: In function 'void solve(int, int, std::vector<int>, int)':
insects.cpp:43:10: error: too few arguments to function 'void solve(int, int, std::vector<int>, int)'
   43 |     solve(l, mid, v1);
      |     ~~~~~^~~~~~~~~~~~
insects.cpp:25:6: note: declared here
   25 | void solve(int l, int r, vector <int> ask, int ans){
      |      ^~~~~
insects.cpp:54:10: error: too few arguments to function 'void solve(int, int, std::vector<int>, int)'
   54 |     solve(mid+1, r, v2);
      |     ~~~~~^~~~~~~~~~~~~~
insects.cpp:25:6: note: declared here
   25 | void solve(int l, int r, vector <int> ask, int ans){
      |      ^~~~~
insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:73:10: error: too few arguments to function 'void solve(int, int, std::vector<int>, int)'
   73 |     solve(0, rep.size()-1,at);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~
insects.cpp:25:6: note: declared here
   25 | void solve(int l, int r, vector <int> ask, int ans){
      |      ^~~~~