제출 #1133934

#제출 시각아이디문제언어결과실행 시간메모리
1133934AgageldiXoractive (IZhO19_xoractive)C++17
0 / 100
2 ms408 KiB
#include <bits/stdc++.h> #include "interactive.h" using namespace std; #define ll long long #define N 200005 #define pb push_back #define ff first #define ss second #define sz(s) (int)s.size() vector <int> a, b, c, d, h; vector <pair<int,int> > answer; map <int,int> vis, vip; vector <int> guess(int n) { int y = ask(n); answer.pb({y, n}); for(int i = 1; i <= 7; i++) { vip.clear(); b.clear(); h.clear(); for(int j = 1; j < n; j++) { if((j & (1 << i))) b.pb(j); } if(sz(b)) { c = get_pairwise_xor(b); b.pb(n); d = get_pairwise_xor(b); reverse(c.begin(),c.end()); reverse(d.begin(),d.end()); while(c[sz(c) - 1] == 0) c.pop_back(); while(d[sz(d) - 1] == 0) d.pop_back(); int cnt = sz(c) - 1; for(int j = sz(d) - 1; j >= 0; j--) { if(cnt >= 0 && d[j] == c[cnt]) cnt--; else h.pb(d[j]); } for(int k = 0; k < sz(h); k++) { int x = (h[k] ^ y); vis[x] += (1 << i); } } } for(auto i : vis) { answer.pb({i.ss,i.ff}); } sort(answer.begin(),answer.end()); for(auto i : answer) { a.pb(i.ss); } return a; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...