結果

問題 No.648  お や す み 
ユーザー まいん-
提出日時 2018-02-21 23:53:43
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 481 bytes
コンパイル時間 443 ms
コンパイル使用メモリ 54,264 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-13 21:11:44
合計ジャッジ時間 2,317 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 84
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
using namespace std;

using int64 = long long;

int main() {
    int64 n;
    cin >> n;

    int64 ok = 1, ng = (1LL << 31);
    while (ng - ok > 1) {
        int64 mid = (ok + ng) / 2;
        if (mid * (1 + mid) / 2 <= n) {
            ok = mid;
        } else {
            ng = mid;
        }
    }
    if (ok * (1 + ok) / 2 == n) {
        cout << "YES" << endl;
        cout << ok << endl;
    } else {
        cout << "NO" << endl;
    }

    return 0;
}
0