結果
問題 | No.2177 Recurring ab |
ユーザー |
![]() |
提出日時 | 2022-11-13 21:54:06 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 644 bytes |
コンパイル時間 | 526 ms |
コンパイル使用メモリ | 66,860 KB |
最終ジャッジ日時 | 2025-02-08 20:03:09 |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#include <iostream>#define rep(i, l, n) for (ll i = (l); i < (n); i++)using namespace std;using ll = long long;bool check(ll n, ll p, ll a, ll b) {return (p * p < n * (p * a + b) + 1);}int main(void) {ll n; cin >> n;ll ans = 0;rep(a, 0, 10) {rep(b, 0, 10) {if (a == b) {continue;}ll min_p = max(a, b) + 1;if (check(n, min_p, a, b) == false) {continue;}ll ok = min_p, ng = 1000000000ll;while (ng - ok > 1) {ll p = (ok + ng) >> 1;if (check(n, p, a, b)) {ok = p;}else {ng = p;}}ans += ok - min_p + 1;}}cout << ans << endl;return 0;}