結果
問題 |
No.648 お や す み
|
ユーザー |
![]() |
提出日時 | 2018-02-11 21:01:43 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 439 bytes |
コンパイル時間 | 703 ms |
コンパイル使用メモリ | 59,036 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-13 21:07:15 |
合計ジャッジ時間 | 2,388 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 84 |
ソースコード
#include<iostream> #include<vector> #include<utility> #include<algorithm> #include<cstring> using namespace std; typedef long long ll; int main(){ ll n,k,i; bool flag=false; cin>> n; ll left=0,right=20000000000; while(left+1!=right){ i=(left+right)/2; k = i*i+i-2*n; if(k>0) right=i;else if(k<0) left=i; if(k==0) {flag=true;break;} } if(flag){ cout<<"YES"<<"\n"<<i; }else{ cout<<"NO"<<"\n"; } }