結果

問題 No.939 and or
ユーザー _KKT89
提出日時 2019-12-03 22:07:59
言語 C++14
(gcc 8.3.0)
結果
AC  
実行時間 6 ms
コード長 427 Byte
コンパイル時間 1,117 ms
使用メモリ 1,560 KB
最終ジャッジ日時 2019-12-03 22:08:02

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
1_sample1 AC 5 ms
1,520 KB
2_sample2 AC 4 ms
1,512 KB
3 AC 4 ms
1,556 KB
4 AC 4 ms
1,512 KB
5 AC 4 ms
1,556 KB
6 AC 4 ms
1,508 KB
7 AC 2 ms
1,560 KB
8 AC 4 ms
1,556 KB
9 AC 5 ms
1,560 KB
10 AC 5 ms
1,512 KB
11 AC 4 ms
1,556 KB
12 AC 4 ms
1,560 KB
13 AC 4 ms
1,560 KB
14 AC 4 ms
1,508 KB
15 AC 4 ms
1,556 KB
16 AC 4 ms
1,556 KB
17 AC 6 ms
1,512 KB
18 AC 4 ms
1,556 KB
19 AC 4 ms
1,556 KB
20 AC 6 ms
1,556 KB
21 AC 4 ms
1,512 KB
22 AC 4 ms
1,560 KB
23 AC 4 ms
1,512 KB
24 AC 4 ms
1,560 KB
25 AC 5 ms
1,560 KB
26 AC 4 ms
1,556 KB
27 AC 4 ms
1,556 KB
28 AC 5 ms
1,556 KB
29 AC 4 ms
1,560 KB
30 AC 4 ms
1,504 KB
31 AC 4 ms
1,512 KB
32 AC 4 ms
1,508 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#include <math.h>
using namespace std;
typedef long long int ll;

int main(){
	cin.tie(nullptr);
	ios::sync_with_stdio(false);
	ll a,b; cin >> a >> b;
	ll k=(a|b);
	if(k!=b||a>b){
		cout << 0 << endl;
		return 0;
	}
	int n=__builtin_popcountll(b)-__builtin_popcountll(a);
	if(n==0){
		cout << 1 << endl;
		return 0;
	}
	cout << (ll)pow(2,n)/2 << endl;
}
0