結果
問題 | No.648 お や す み |
ユーザー |
![]() |
提出日時 | 2018-09-13 21:53:42 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,120 bytes |
コンパイル時間 | 799 ms |
コンパイル使用メモリ | 93,852 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-01 04:30:22 |
合計ジャッジ時間 | 2,976 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 56 WA * 28 |
ソースコード
#include <stdio.h> #include <algorithm> #include <iostream> #include <string> #include <vector> #include <functional> #include <map> #include <iomanip> #include <math.h> #include <stack> #include <queue> #include <bitset> #include <cstdlib> #include <tuple> #include <cctype> #include <ctype.h> #include <set> using namespace std; int main() { long long i, j, k; long long n; cin >> n; long long add = 1; if (n >= 100000000000000) { add = 10000000; } else if (n >= 100000000000) { add = 100000; } else if (n >= 100000000) { add = 10000; } else if (n >= 100000) { add = 100; } bool flag = false; for (i = add; i < n; i+=add) { //n(n+1)/2 long long num = i*(i + 1) / 2; if (num == n) { cout << "YES" << endl; cout << i << endl; getchar(); getchar(); return 0; } if (num > n && flag == false) { i -= add; add = add / 100; if (add <= 1) { add = 1; flag = true; } } if (num > n && flag == true) { cout << "NO" << endl; getchar(); getchar(); return 0; } } getchar(); getchar(); return 0; }