結果
問題 | No.413 +5,000,000pts |
ユーザー | pekempey |
提出日時 | 2016-08-13 00:28:20 |
言語 | C++11 (gcc 11.4.0) |
結果 |
AC
|
実行時間 | 141 ms / 5,000 ms |
コード長 | 549 bytes |
コンパイル時間 | 1,348 ms |
コンパイル使用メモリ | 159,072 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 16:09:04 |
合計ジャッジ時間 | 1,990 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll calc(ll d) { return (ll)((-1 + sqrt(1 + 4 * d)) / 2.0); } ll calc2(ll d) { if (d <= 1e9) return calc(d); long long pass = 0; long long fail = 1e9; while (fail - pass > 1) { long long mid = (pass + fail) / 2; (mid * (mid + 1) <= d ? pass : fail) = mid; } return pass; } int main() { int num = 0; for (long long i = 1e8;; i++) { long long d = i * (i + 1) - 1; if (calc(d) != calc2(d)) { cout << d << endl; num++; if (num == 100000) return 0; } } }