Submission #1289788

#TimeUsernameProblemLanguageResultExecution timeMemory
1289788enzyICC (CEOI16_icc)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include"icc.h" using namespace std; const int maxn=110; const int maxk=7; vector<int>v[maxn]; int find(vector<int> a, vector<int> b){ int id=0; for(int k=0;k<maxk;k++){ vector<int>aux; for(int j=0;j<a.size();j++) if((j+1)&(1<<k)) aux.push_back(a[j]); if(query(aux.size(),b.size(),aux,b)) id+=(1<<k); } return a[id-1]; } void run(int n){ for(int i=1;i<=n;i++) v[i].push_back(i); for(int i=1;i<n;i++){ vector<int>a, b; for(int k=0;;k++){ a.clear(); b.clear(); for(int j=1;j<=n;j++){ if(j&(1<<k)) for(int x : v[j]) a.push_back(x); else for(int x : v[j]) b.push_back(x); } int at=query(a.size(),b.size(),a,b); if(at) break; } int u=find(a,b), w=find(b,a); setRoad(u,w); for(int x : v[w]) v[u].push_back(x); v[w].clear(); } }

Compilation message (stderr)

icc.cpp: In function 'int find(std::vector<int>, std::vector<int>)':
icc.cpp:12:38: error: cannot convert 'std::vector<int>' to 'int*'
   12 |         if(query(aux.size(),b.size(),aux,b)) id+=(1<<k);
      |                                      ^~~
      |                                      |
      |                                      std::vector<int>
In file included from icc.cpp:2:
icc.h:10:30: note:   initializing argument 3 of 'int query(int, int, int*, int*)'
   10 | int query(int a, int b, int *A, int *B);
      |                         ~~~~~^
icc.cpp: In function 'void run(int)':
icc.cpp:26:44: error: cannot convert 'std::vector<int>' to 'int*'
   26 |             int at=query(a.size(),b.size(),a,b);
      |                                            ^
      |                                            |
      |                                            std::vector<int>
icc.h:10:30: note:   initializing argument 3 of 'int query(int, int, int*, int*)'
   10 | int query(int a, int b, int *A, int *B);
      |                         ~~~~~^