結果
| 問題 |
No.2567 A_1 > A_2 > ... > A_N
|
| コンテスト | |
| ユーザー |
evima
|
| 提出日時 | 2023-12-02 14:58:28 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 350 ms / 2,000 ms |
| コード長 | 645 bytes |
| コンパイル時間 | 464 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 88,820 KB |
| 最終ジャッジ日時 | 2024-09-26 17:46:52 |
| 合計ジャッジ時間 | 4,526 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 16 |
ソースコード
def solve_one():
N, X = map(int, input().split())
mi = N * (N + 1) // 2
if X < mi:
print(-1)
return
ans = []
s = 0
prev_hi = X + 1
for i in range(N):
rest = N - i
lo, hi = N - i - 1, prev_hi - 1
while lo + 1 < hi:
mi = (lo + hi) // 2
t = (mi + (mi - rest + 1)) * rest // 2
if s + t >= X:
hi = mi
else:
lo = mi
ans.append(hi)
prev_hi = hi
s += hi
print(*ans)
if __name__ == "__main__":
T = int(input())
for i in range(1, T + 1):
solve_one()
evima