Submission #1289837

#TimeUsernameProblemLanguageResultExecution timeMemory
1289837lambd47ICC (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() /* int query(int a, int b, vector<int> va, vector<int> vb){ cout<<a<<" "<<b<<"\n"; for(auto x:va)cout<<x<<" "; cout<<"\n"; for(auto y:vb)cout<<y<<" "; cout<<"\n"; int x;cin>>x; return x; } void setRoad(int a,int b){ cout<<a<<" "<<b<<"receba\n"; }*/ const int MX=1e2+7; const int lg=7; mt19937 rng(time(0)); void run(int n){ vector<vector<int>> vec(n); vector<int> maluco(n); iota(all(maluco),0); shuffle(all(maluco),rng); L(i,0,n-1)vec[i].push_back(maluco[i]+1); int aa[MX]; int bb[MX]; auto ask=[&](vector<int> a, vector<int> b)->bool{ L(i,0,sz(a)-1)aa[i]=a[i]; L(i,0,sz(b)-1)bb[i]=b[i]; //cout<<"=========\n"; return query(sz(a),sz(b),aa,bb);//mudar essa bullshitaiada }; R(tam,n,2){ vector<vector<int>> v(2); vector<int> ord(__lg(tam)+1); iota(all(ord),0); shuffle(all(ord),rng); L(kk,0,sz(ord)-1){ i=ord[kk] L(j,0,tam-1){ int b=((1<<i)&j)?1:0; for(auto a:vec[j])v[b].push_back(a); } if(kk==sz(ord)-1)break; if(ask(v[0],v[1]))break; v[0].clear(); v[1].clear(); } int l=0;int r=sz(v[0])-1; int ans=0; vector<int> aux; while(l<=r){ aux.clear(); int m=(l+r)/2; if(l==r){ ans=l; l=r+1; continue; } L(i,l,m)aux.push_back(v[0][i]); if(ask(aux,v[1])){ r=m; } else{ l=m+1; } } vector<int> goat;goat.push_back({v[0][ans]}); l=0;r=sz(v[1])-1; ans=l; while(l<=r){ aux.clear(); int m=(l+r)/2; if(l==r){ ans=l; l=r+1; continue; } L(i,l,m)aux.push_back(v[1][i]); if(ask(aux,goat)){ r=m; } else{ 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[ida])vec[idb].push_back(x); swap(vec[tam-1],vec[ida]); } }

Compilation message (stderr)

icc.cpp: In function 'void run(int)':
icc.cpp:52:13: error: 'i' was not declared in this scope
   52 |             i=ord[kk]
      |             ^
icc.cpp:53:15: error: 'j' was not declared in this scope
   53 |             L(j,0,tam-1){
      |               ^
icc.cpp:6:32: note: in definition of macro 'L'
    6 | #define L(i,j,k) for(int i=(j);i<=(k);i++)
      |                                ^