Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
using namespace std; #define ld long double #define F first #define S second #define Lnode 2*node+1 #define Rnode 2*node+2 #define MID (l+r>>1) #define el '\n' #define coutf(x) for(auto v:(x)) cout<
>v; #define all(x) x.begin(),x.end() #define ll long long #define sz(x) (int)x.size() #define pi pair
#define pii pair
> #define vi vector
using ull = unsigned long long; const int N=32*200005; int trie[N][2]; int cnt[N]; int nodecnt; void prepare() { trie[0][0]=trie[0][1]=-1; cnt[0]=-1; nodecnt=1; } ll insert(int n,int idx) { int node=0; for (int i=30;i>=0;i--) { int bit=((n>>i)&1LL); if (trie[node][bit]==-1) { trie[node][bit]=nodecnt; trie[nodecnt][0]=trie[nodecnt][1]=-1; cnt[nodecnt] = -1; nodecnt++; } node=trie[node][bit]; cnt[node]=idx; } } ll mx(ll n,ll k) { int node=0; ll num=0; for (int i=30;i>=0;i--) { int bit=((n>>i)&1LL); if (trie[node][1^bit]!=-1) { num|=(1LL<
=k)return cnt[node]; } if (num>=k) return cnt[node]; return -1; } void solve() { int n,k; cin>>n>>k; vector
ar(n); for (int i=0;i
>ar[i]; if (k==0) { cout<<1<<"\n"; return; } prepare(); insert(ar[0],0); int ans=INT_MAX; for (int i=1;i
> tc; for (int i = 1; i <= tc; i++)solve(); return 0; } /* */
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)