結果
問題 | No.1072 A Nice XOR Pair |
ユーザー | yuji9511 |
提出日時 | 2020-06-05 21:44:04 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 275 ms / 2,000 ms |
コード長 | 877 bytes |
コンパイル時間 | 1,759 ms |
コンパイル使用メモリ | 174,156 KB |
実行使用メモリ | 25,600 KB |
最終ジャッジ日時 | 2024-12-17 14:01:07 |
合計ジャッジ時間 | 3,159 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 11 |
ソースコード
/*** author: yuji9511 ***/ #include <bits/stdc++.h> using namespace std; using ll = long long; using lpair = pair<ll, ll>; const ll MOD = 1e9+7; const ll INF = 1e18; #define rep(i,m,n) for(ll i=(m);i<(n);i++) #define rrep(i,m,n) for(ll i=(m);i>=(n);i--) #define printa(x,n) for(ll i=0;i<n;i++){cout<<(x[i])<<" \n"[i==n-1];}; void print() {} template <class H,class... T> void print(H&& h, T&&... t){cout<<h<<" \n"[sizeof...(t)==0];print(forward<T>(t)...);} void solve(){ ll N,X; cin >> N >> X; ll A[200010]; rep(i,0,N) cin >> A[i]; map<ll,ll> mp; rep(i,0,N) mp[A[i]]++; ll ans = 0; rep(i,0,N){ ll v = (A[i]^X); if(v == A[i]){ ans += mp[A[i]]-1; }else{ ans += mp[v]; } } ans /= 2; print(ans); } int main(){ cin.tie(0); ios::sync_with_stdio(false); solve(); }