結果
| 問題 | No.1256 連続整数列 | 
| コンテスト | |
| ユーザー |  rei60 | 
| 提出日時 | 2020-10-25 17:39:22 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 43 ms / 2,000 ms | 
| コード長 | 515 bytes | 
| コンパイル時間 | 248 ms | 
| コンパイル使用メモリ | 82,196 KB | 
| 実行使用メモリ | 59,104 KB | 
| 最終ジャッジ日時 | 2025-06-20 10:45:31 | 
| 合計ジャッジ時間 | 2,783 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 40 | 
ソースコード
# -*- coding: utf-8 -*-
A = int(input())
def make_div(n):
    lower_divisors , upper_divisors = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_divisors.append(i)
            if i != n // i:
                upper_divisors.append(n//i)
        i += 1
    return lower_divisors + upper_divisors[::-1]
div = make_div(A)[1::]
for d in div:
    d *= 2
    temp = (2*A//d - d + 1)//2
    if temp-0.01 < (2*A/d - d + 1)/2 < temp+0.01:
        print("YES")
        quit()
print("NO")
    
            
            
            
        