結果
| 問題 |
No.648 お や す み
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-02-19 20:39:28 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 663 bytes |
| コンパイル時間 | 1,348 ms |
| コンパイル使用メモリ | 165,968 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-07-08 14:09:31 |
| 合計ジャッジ時間 | 3,159 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 69 WA * 15 |
ソースコード
//{{{
#include <bits/stdc++.h>
using namespace std;
#define rep(...) repN((__VA_ARGS__,rep3,rep2,loop,~))(__VA_ARGS__)
#define loop(n) rep2(_loop_,n)
#define rep2(i,n) rep3(i,0,n)
#define rep3(i,begin,end) for(int i=(int)(begin),i##_end=(int)(end);i<i##_end;++i)
#define repN(a) repX a
#define repX(a0,a1,a2,x,...) x
typedef long long ll;
const int MOD = 1e9+7;
//}}}
ll f(ll n){
return n * (n + 1) / 2;
}
int main(){
ll n;
cin >> n;
ll hi = 1LL << 62;
ll lo = 0;
while(hi - lo > 1){
ll md = lo + (hi - lo) / 2;
if(f(md) > n){
hi = md;
}else{
lo = md;
}
}
if(f(lo) == n){
printf("YES\n%lld\n", lo);
}else{
puts("NO");
}
return 0;
}