結果

問題 No.3030 Kruskal-Katona
ユーザー Today03
提出日時 2025-02-21 22:21:43
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,381 ms / 2,000 ms
コード長 398 bytes
コンパイル時間 243 ms
コンパイル使用メモリ 82,624 KB
実行使用メモリ 76,524 KB
最終ジャッジ日時 2025-02-21 22:22:18
合計ジャッジ時間 11,549 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

def binom(n,k):
	if k<0 or k>n:return 0
	if k>n-k:k=n-k
	ret=1
	for i in range(k):ret=ret*(n-i)
	for i in range(k):ret=ret//(i+1)
	return ret


N,I=map(int,input().split())

if I>1:
	ans=[]
	sum=0
	tmp=I
	for n in reversed(range(1,I+2*int(N**0.5))):
		now=binom(n,tmp)
		if sum+now<=N:
			sum+=now
			ans.append(n)
			tmp-=1
			if sum==N or tmp==0:break
	assert sum==N
	print(*ans)

else:
	print(N)
0