結果
問題 | No.625 ソンタクロース |
ユーザー |
|
提出日時 | 2022-04-28 12:39:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 430 ms / 4,000 ms |
コード長 | 754 bytes |
コンパイル時間 | 150 ms |
コンパイル使用メモリ | 82,196 KB |
実行使用メモリ | 76,648 KB |
最終ジャッジ日時 | 2024-06-28 07:54:27 |
合計ジャッジ時間 | 3,146 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
N,M = map(int,input().split()) dat = [M] for i in range(2,N+1): l = [(dat[j],j) for j in range(i-1)] l.sort(reverse = True) t = 0 for j in dat: if j == -1: t += 1 k = i // 2 if t >= k: dat = [0] * (i - 1) + [M] continue count = 0 s = set() for j in range(i - 1 - k): count += l[j][0] s.add(l[j][1]) if count < k - t: dat.append(-1) continue else: for j in range(i-1): if j in s: dat[j] = 0 else: if dat[j] >= 0: dat[j] += 1 count -= 1 else: dat[j] = 0 dat.append(count) print(*dat[::-1])