結果
| 問題 |
No.1635 Let’s Sort Integers!!
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-01-27 02:12:45 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,389 bytes |
| コンパイル時間 | 1,051 ms |
| コンパイル使用メモリ | 82,640 KB |
| 実行使用メモリ | 257,880 KB |
| 最終ジャッジ日時 | 2025-01-27 02:13:04 |
| 合計ジャッジ時間 | 17,095 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 51 WA * 26 |
ソースコード
## https://yukicoder.me/problems/no/2255
def main():
N, K = map(int, input().split())
n_max = ((N - 1) * N) // 2
n_min = N - 1
if not (n_min <= K <= n_max):
print(-1)
return
p_array1 = [i for i in range(1, N + 1)]
p_array2 = [i for i in reversed(range(1, N + 1))]
p_array = []
for i in range(N):
if i % 2 == 0:
p_array.append(p_array1[i // 2])
else:
p_array.append(p_array2[i // 2])
ans_array = [p_array[0]]
used = [False] * (N + 1)
used[p_array[0]] = True
for i in range(1, N):
n = abs(p_array[i] - p_array[i - 1])
if n <= K:
ans_array.append(p_array[i])
used[p_array[i]] = True
K -= n
else:
if (i - 1) % 2 == 1:
ans_array.append(p_array[i - 1] - K)
used[p_array[i - 1] - K] = True
else:
ans_array.append(p_array[i - 1] + K)
used[p_array[i - 1] + K] = True
K = 0
if K == 0:
break
ans_array2 = [ans_array[0]]
for i in range(1, N + 1):
if not used[i]:
ans_array2.append(i)
for i in range(1, len(ans_array)):
ans_array2.append(ans_array[i])
print(" ".join(map(str, ans_array2)))
if __name__ == "__main__":
main()