Submission #1085055

#TimeUsernameProblemLanguageResultExecution timeMemory
1085055browntoadICC (CEOI16_icc)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "icc.h" using namespace std; #define ll long long // #define int ll #define FOR(i, a, b) for(int i = (a); i < (b); i++) #define REP(i, n) FOR(i, 0, n) #define REP1(i, n) FOR(i, 1, n+1) #define RREP(i, n) for (int i = (n)-1; i >= 0; i--) #define RREP1(i, n) for (int i = (n); i >= 1; i--) #define pii pair<int, int> #define ppi pair<pii, int> #define pip pair<int, pii> #define ALL(x) (x).begin(), (x).end() #define SZ(x) (int)((x).size()) #define f first #define s second #define pb push_back #define endl '\n' #define IOS() ios::sync_with_stdio(false), cin.tie(0), cout.tie(0) const ll maxn = 105; const ll mod = 1e9+7; const ll inf = 1ll<<60; ll mpw(ll a, ll p, ll m = mod){ ll ret = 1; while(p > 0){ if (p & 1){ ret *= a; ret %= m; } p >>= 1; a *= a; a %= m; } return ret; } ll inv(ll a){ return mpw(a, mod-2); } /* int query(int a, int b, int ara[], int arb[]){ cout<<'?'<<' '; cout<<a<<' '<<b<<endl; REP(i, a) cout<<ara[i]<<' '; cout<<'&'<<' '; REP(i, b) cout<<arb[i]<<' '; cout<<endl; int in; cin>>in; return in; } void setRoad(int a, int b){ cout<<'!'<<a<<' '<<b<<endl; int in; cin>>in; if (in == -1) exit(0); } */ void run(int n){ vector<vector<int>> cc; REP1(i, n){ cc.pb({i}); } REP(t, n-1){ mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int ret = -1; vector<int> t1, t2; do{ shuffle(ALL(cc), rng); t1.clear(); t2.clear(); REP(i, SZ(cc)/2) for (int j:cc[i]) t1.pb(j); FOR(i, SZ(cc)/2, SZ(cc)) for (int j:cc[i]) t2.pb(j); ret = query(SZ(t1), SZ(t2), &t1[0], &t2[0]); if (ret){ break; } } while(1); int l = 0, r = SZ(t2)-1; while(l < r){ int mid = (l+r)>>1; vector<int> tt; FOR(i, l, mid+1){ tt.pb(t2[i]); } ret = query(SZ(t1), SZ(tt), &t1[0], &tt[0]); if (!ret) l = mid+1; else r = mid; } t2 = {t2[l]}; l = 0, r = SZ(t1)-1; while(l < r){ int mid = (l+r)>>1; vector<int> tt; FOR(i, l, mid+1){ tt.pb(t1[i]); } ret = query(SZ(tt), 1, &tt[0], &t2[0]); if (!ret) l = mid+1; else r = mid; } t1 = {t1[l]}; setRoad(t1[0], t2[0]); auto it = cc.begin(); vector<int> nw; while(it != cc.end()){ vector<int> tmp = (*it); bool ex = 0; for (auto j:tmp){ if (j == t1[0] || j == t2[0]){ ex = 1; break; } } if (ex) { for (auto j:tmp) nw.pb(j); it = cc.erase(it); } else it = next(it); } cc.pb(cc.begin()+1, nw); } } /* signed main(){ run(5); } */

Compilation message (stderr)

icc.cpp: In function 'void run(int)':
icc.cpp:134:31: error: no matching function for call to 'std::vector<std::vector<int> >::push_back(__gnu_cxx::__normal_iterator<std::vector<int>*, std::vector<std::vector<int> > >, std::vector<int>&)'
  134 |         cc.pb(cc.begin()+1, nw);
      |                               ^
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from icc.cpp:1:
/usr/include/c++/10/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::vector<int>; _Alloc = std::allocator<std::vector<int> >; std::vector<_Tp, _Alloc>::value_type = std::vector<int>]'
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1187:7: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/10/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = std::vector<int>; _Alloc = std::allocator<std::vector<int> >; std::vector<_Tp, _Alloc>::value_type = std::vector<int>]'
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1203:7: note:   candidate expects 1 argument, 2 provided