Submission #1289772

#TimeUsernameProblemLanguageResultExecution timeMemory
1289772lambd47ICC (CEOI16_icc)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include"icc.h" using namespace std; #define ll long long #define L(i,j,k) for(int i=(j);i<=(k);i++) #define R(i,j,k) for(int i=(j);i>=(k);i--) #define sz(v) ((int)(v).size()) #define all(v) (v).begin(),(v).end() const int MX=1e2+7; const int lg=7; void run(int n){ vector<vector<int>> vec(n); L(i,0,n-1)vec[i].push_back(i+1); auto ask=[&](vector<int> a, vector<int> b)->bool{ return query(sz(a),sz(b),a,b); }; R(tam,n,2){ vector<vector<int>> v(2); L(i,0,lg-1){ L(j,0,tam-1){ int b=((1<<i)&j)?1:0; for(auto a:vec[j])v[i].push_back(a); } if(ask(v[0],v[1]))break; } int l=0;int r=sz(v[0])-1; int ans=0; vector<int> aux; while(l<=r){ aux.clear(); int m=(ini+fim)/2; L(i,l,m)aux.push_back(v[0][i]); if(ask(aux,v[1])){ ans=l; r=m-1; } else{ ans=r; l=m+1; } } vector<int> goat;goat.push_back({v[0][ans]}); l=0;r=sz(v[1])-1; int ans=l; while(l<=r){ aux.clear(); int m=(ini+fim)/2; L(i,l,m)aux.push_back(v[1][i]); if(ask(aux,v[1])){ ans=l; r=m-1; } else{ ans=r; l=m+1; } } int a=goat[0]; int b=v[1][ans]; setRoad(a,b); int ida;int idb; L(i,0,tam-1){ for(auto x:vec[i]){ if(x==a)ida=i; if(x==b)idb=i; } } for(auto x:vec[a])vec[b].push_back(x); swap(vec[tam-1],vec[a]); } } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); solve(); }

Compilation message (stderr)

icc.cpp: In lambda function:
icc.cpp:21:34: error: cannot convert 'std::vector<int>' to 'int*'
   21 |         return query(sz(a),sz(b),a,b);
      |                                  ^
      |                                  |
      |                                  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:38:20: error: 'ini' was not declared in this scope; did you mean 'int'?
   38 |             int m=(ini+fim)/2;
      |                    ^~~
      |                    int
icc.cpp:38:24: error: 'fim' was not declared in this scope; did you mean 'fdim'?
   38 |             int m=(ini+fim)/2;
      |                        ^~~
      |                        fdim
icc.cpp:51:13: error: redeclaration of 'int ans'
   51 |         int ans=l;
      |             ^~~
icc.cpp:34:13: note: 'int ans' previously declared here
   34 |         int ans=0;
      |             ^~~
icc.cpp:54:20: error: 'ini' was not declared in this scope; did you mean 'int'?
   54 |             int m=(ini+fim)/2;
      |                    ^~~
      |                    int
icc.cpp:54:24: error: 'fim' was not declared in this scope; did you mean 'fdim'?
   54 |             int m=(ini+fim)/2;
      |                        ^~~
      |                        fdim
icc.cpp: In function 'int main()':
icc.cpp:83:5: error: 'solve' was not declared in this scope
   83 |     solve();
      |     ^~~~~