D - Least Unbalanced Editorial
by
sounansya
以下のように構築することもできます。
- \(A\) の要素を全て \(\displaystyle \left\lfloor\frac{K}{2^N}\right\rfloor\) にし、\(K\) を \(K \bmod 2^N\) に置き換える。
- \(k=0,1,\ldots,K-1\) に対し、 \(\displaystyle A_{\left\lfloor 2^N\times \frac{k}{K}\right\rfloor}\) に \(1\) 加算する。
n, k = map(int, input().split())
a = [k >> n] * (1 << n)
k %= 1 << n
for i in range(k):
a[(i << n) // k] += 1
print(1 if k else 0)
print(*a)
posted:
last update: