結果
| 問題 | 
                            No.1895 Mod 2
                             | 
                    
| コンテスト | |
| ユーザー | 
                             SidewaysOwl
                         | 
                    
| 提出日時 | 2022-04-08 23:10:01 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 484 bytes | 
| コンパイル時間 | 87 ms | 
| コンパイル使用メモリ | 12,672 KB | 
| 実行使用メモリ | 333,516 KB | 
| 最終ジャッジ日時 | 2024-11-28 14:17:34 | 
| 合計ジャッジ時間 | 39,931 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | TLE * 1 | 
| other | TLE * 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