結果
問題 | No.648 お や す み |
ユーザー |
![]() |
提出日時 | 2018-02-09 22:53:56 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 2,056 bytes |
コンパイル時間 | 1,203 ms |
コンパイル使用メモリ | 111,460 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-13 21:00:50 |
合計ジャッジ時間 | 3,024 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 84 |
ソースコード
#include <algorithm>#include <bitset>#include <complex>#include <deque>#include <exception>#include <fstream>#include <functional>#include <iomanip>#include <ios>#include <iosfwd>#include <iostream>#include <istream>#include <iterator>#include <limits>#include <list>#include <locale>#include <map>#include <memory>#include <new>#include <numeric>#include <ostream>#include <queue>#include <set>#include <sstream>#include <stack>#include <stdexcept>#include <streambuf>#include <string>#include <typeinfo>#include <utility>#include <valarray>#include <vector>#include <climits>#define rep(i, m, n) for(int i=int(m);i<int(n);i++)#define EACH(i, c) for (auto &(i): c)#define all(c) begin(c),end(c)#define EXIST(s, e) ((s).find(e)!=(s).end())#define SORT(c) sort(begin(c),end(c))#define pb emplace_back#define MP make_pair#define SZ(a) int((a).size())//#define LOCAL 0//#ifdef LOCAL//#define DEBUG(s) cout << (s) << endl//#define dump(x) cerr << #x << " = " << (x) << endl//#define BR cout << endl;//#else//#define DEBUG(s) do{}while(0)//#define dump(x) do{}while(0)//#define BR//#endif//改造typedef long long int ll;using namespace std;#define INF (1 << 30)#define INFl (ll)5e15#define DEBUG 0 //デバッグする時1にしてね#define dump(x) cerr << #x << " = " << (x) << endl#define MOD 1000000007//ここから編集するll calc(ll n) {return n * (n + 1) / 2;}int main() {cin.tie(0);ios::sync_with_stdio(false);ll n;cin >> n;ll low = 1;ll high = 1LL * (ll)(2e9);while (high - low > 1) {ll mid = (low + high) / 2;if (calc(mid) < n) {low = mid;} else if (calc(mid) > n) {high = mid;} else {cout << "YES" << endl;cout << mid << endl;return 0;}}if (calc(low) == n) {cout << "YES" << endl;cout << low << endl;return 0;}cout << "NO" << endl;// cout << low << endl;return 0;}