제출 #339976

#제출 시각아이디문제언어결과실행 시간메모리
339976fixikmilaXoractive (IZhO19_xoractive)C++14
0 / 100
8 ms1260 KiB
#include <bits/stdc++.h> #include"interactive.h" using namespace std; #define MOD 1000000007 typedef long long ll; typedef pair<ll,ll>pll; typedef long double ld; ll bin_pow(ll a,ll b){ if(b==0)return 1; if(b%2==0){ ll t=bin_pow(a,b/2); return t*t%MOD; } else return a*bin_pow(a,b-1)%MOD; } vector<int>guess(int n){ vector<int>a(n); int x=__lg(n-1); a[0]=ask(1); map<ll,ll>mp; for(int j=0;j<=x;j++){ vector<int>c; for(int i=1;i<n;i++){ if((i>>j)&1){ c.push_back(i+1); } } vector<int>d=get_pairwise_xor(c); map<ll,ll>mp1,mp2; for(auto u : d)mp1[u]++; d.clear(); for(auto u : mp1){ if(u.first){ for(int i=0;i<u.second;i++)d.push_back(u.first); } } for(auto u : d){ mp[u]-=(1<<j); } c.push_back(1); d=get_pairwise_xor(c); for(auto u : d)mp2[u]++; d.clear(); for(auto u : mp2){ if(u.first){ for(int i=0;i<u.second;i++)d.push_back(u.first); } } for(auto u : d){ mp[u]+=(1<<j); } } for(auto u : mp)a[u.first]=u.second^a[0]; return a; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...