結果
| 問題 | No.3643 Not a Bad Apple!! |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-08-25 15:41:42 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 575 bytes |
| 記録 | |
| コンパイル時間 | 248 ms |
| コンパイル使用メモリ | 95,972 KB |
| 実行使用メモリ | 85,376 KB |
| 最終ジャッジ日時 | 2026-08-25 15:41:49 |
| 合計ジャッジ時間 | 6,645 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge3_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| サンプル | 0 % | AC * 1 |
| 小課題1 | 10 % | AC * 1 WA * 1 |
| 小課題2 | 30 % | AC * 7 WA * 3 |
| 小課題3 | 30 % | AC * 6 WA * 9 |
| 小課題4 | 30 % | AC * 19 WA * 12 |
| 合計 | 0 点 |
ソースコード
import math
# k 個食べられるかは、
# A = N - B として
# binom(A,k) / binom(N,k)*k
# binom(A,k) / (N binom(N-1,k-1))
# (N-k)! / (A-k)! / (k-1)
# A! / N!
# (N-x) * (A-x) / x * (x - 1)
T = int(input())
def f(x): return math.factorial(x)
def solve():
N, B = map(int, input().split())
A = N - B
ok = 0
ng = A + 1
# (A-x)(x+1) / (N-x)x は単調減少。1以下になるのはどこ?
while ng - ok > 1:
x = (ok + ng) >> 1
if (A-x)*(x+1) >= (N-x)*x: ok = x
else: ng = x
print(ok + 1)
for _ in range(T):
solve()