結果
問題 |
No.822 Bitwise AND
|
ユーザー |
|
提出日時 | 2020-04-21 20:45:17 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 829 bytes |
コンパイル時間 | 146 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-06-25 18:19:30 |
合計ジャッジ時間 | 1,565 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 WA * 1 |
ソースコード
INF = 10 ** 9 MOD = 10 ** 9 + 7 import sys sys.setrecursionlimit(100000000) dy = (-1,0,1,0) dx = (0,1,0,-1) from copy import deepcopy from bisect import bisect_left def main(): n,k = map(int,input().split()) if n == 0: if k == 0: print(1) else: print('INF') return m = 0 for i in range(50): if (n>>i)&1: m = max(m,i) bit_sum = pow(2,m + 1) - n - 1 lower_limit = pow(2,m) if lower_limit * 2 <= k + bit_sum: print('INF') return upper_limit = 1 while upper_limit < k: upper_limit *= 2 ans = 0 for x in range(n,n + upper_limit + 1): for y in range(x,x + k + 1): if x&y == n: ans += 1 print(ans) if __name__ == '__main__': main()