結果

問題 No.648  お や す み 
ユーザー kichirb3
提出日時 2018-03-06 23:54:34
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 31 ms / 2,000 ms
コード長 626 bytes
コンパイル時間 251 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 10,752 KB
最終ジャッジ日時 2024-09-13 21:15:47
合計ジャッジ時間 4,599 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 84
権限があれば一括ダウンロードができます

ソースコード

diff #

# -*- coding: utf-8 -*-
"""
No.648  お や す み 
https://yukicoder.me/problems/no/648

"""
import sys
from sys import stdin
input = stdin.readline


def main(args):
    n = int(input())

    lb = 0
    ub = 2 * 10**18

    found = -1
    while lb +1 < ub:
        mid = (lb + ub) // 2
        total = (1 + mid) * mid // 2
        if total == n:
            found = mid
            break
        elif total > n:
            ub = mid
        else:
            lb = mid

    if found != -1:
        print('YES')
        print(found)
    else:
        print('NO')


if __name__ == '__main__':
    main(sys.argv[1:])
0