結果
| 問題 | 
                            No.1895 Mod 2
                             | 
                    
| コンテスト | |
| ユーザー | 
                             SidewaysOwl
                         | 
                    
| 提出日時 | 2022-04-08 23:02:44 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                MLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 484 bytes | 
| コンパイル時間 | 278 ms | 
| コンパイル使用メモリ | 82,264 KB | 
| 実行使用メモリ | 596,456 KB | 
| 最終ジャッジ日時 | 2024-11-28 14:05:16 | 
| 合計ジャッジ時間 | 39,952 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | MLE * 1 | 
| other | MLE * 11 | 
ソースコード
cnt = 1
n = 10 ** 15
memo = set()
while cnt ** 2 <= n:
    val = cnt ** 2
    cnt2 = 1
    if val in memo:
        cnt += 1
        continue
    while cnt2 * val <= n:
        memo.add(cnt2 * val)
        cnt2 *= 2
    cnt += 1
    
memo = list(sorted(memo))
import bisect
for _ in range(int(input())):
    l,r = map(int,input().split())
    a = (bisect.bisect(memo,l-1))
    b = (bisect.bisect(memo,r))
#     print(a,b)
    if (a - b) & 1:
        print(1)
    else:
        print(0)
            
            
            
        
            
SidewaysOwl