結果

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

ソースコード

diff #

#include <iostream>
#include <algorithm>
#include <cmath>
#define rep(i, a, n) for(int i = a;i < n;i++)
#define repe(i, a, n) for(int i = a;i <= n;i++)
#define repr(i, a, n) for(int i = a;i > n;i--)
using namespace std;


using llint = long long int;


llint n;


llint binS(llint v, llint l, llint r){
	while(l <= r){
		llint m = (llint)((l+r)/2);
		llint a = m*m + m - v;
		if(!a) return m;
		if(a > 0) return 0;
		else l = m+1;
	}
	return 0;
}


llint solve(){
	n *= 2;
	llint i = (llint)sqrt(n);
	return binS(n, 0, i);
}


int main(){
	cin >> n;

	llint j = solve();

	if(j) cout << "YES" << endl, cout << j << endl;
	else cout << "NO" << endl;

	return 0;
}
0