Submission #1173932

#TimeUsernameProblemLanguageResultExecution timeMemory
1173932ByeWorldXoractive (IZhO19_xoractive)C++20
0 / 100
3 ms664 KiB
#include "interactive.h" #include <bits/stdc++.h> #define ll long long #define pb push_back #define fi first #define se second #define lf (id<<1) #define rg ((id<<1)|1) #define md ((l+r)>>1) #define ld long double using namespace std; typedef pair<int,int> pii; typedef pair<char,char> pcc; typedef pair<pii,int> ipii; typedef pair<pii,pii> ipiii; const int MAXN = 2e5+10; const int SQRT = 300; const int MAXA = 50; const int LOG = 20; const ld EPS = 1e-12; const int MOD = 1e9+7; int sum(int a, int b){ return (a+b)%MOD; } void chsum(int &a, int b){ a = (a+b)%MOD; } void chmn(int &a, int b){ a = min(a, b); } void chmx(int &a, int b){ a = max(a, b); } map<int,int> idx; vector<int> guess(int n) { vector<int>ans(n); ans[0] = ask(1); for(int i=0; (1ll<<i)<=n; i++){ vector<int> vec; for(int j=2; j<=n; j++) if((j>>i) & 1) vec.pb(j); vector<int> v1 = get_pairwise_xor(vec); vec.pb(1); vector<int> v2 = get_pairwise_xor(vec); map<int,int>m; for(auto in : v1) m[in]--; for(auto in : v2) m[in]++; for(auto [x,y] : m) idx[x ^ ans[0]] |= (1ll<<i); } for(auto [x,y] : idx) ans[y] = x; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...