結果
| 問題 |
No.2567 A_1 > A_2 > ... > A_N
|
| コンテスト | |
| ユーザー |
H20
|
| 提出日時 | 2023-12-02 16:26:49 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 726 bytes |
| コンパイル時間 | 175 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 78,336 KB |
| 最終ジャッジ日時 | 2024-09-26 20:18:39 |
| 合計ジャッジ時間 | 3,570 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 1 WA * 10 RE * 5 |
ソースコード
#めぐる式二分探索
#参考サイト:https://aotamasaki.hatenablog.com/entry/meguru_bisect
def is_ok(a):
return N*(a+a-N+1)//2>=X
def meguru_bisect(ng, ok):
while (abs(ok - ng) > 1):
mid = (ok + ng) // 2
if is_ok(mid):
ok = mid
else:
ng = mid
return ok
T = int(input())
for _ in range(T):
N,X = map(int,input().split())
M = meguru_bisect(0,3*10**9)
L = list(range(M-N+1,M+1))[::-1]
ANS = []
i = 1
while len(ANS)<N and X>=i:
ANS.append(i)
X-=i
i+=1
ANS[-1]+=X
if len(ANS)==N:
temp = X-sum(L)
for i in range(temp):
L[-i-1]-=1
print(*L)
else:
print(-1)
H20