結果

問題 No.2479 Sum of Squares
コンテスト
ユーザー horiesiniti
提出日時 2023-11-08 03:02:41
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 54 ms / 2,000 ms
コード長 353 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 42 ms
コンパイル使用メモリ 8,960 KB
実行使用メモリ 14,976 KB
最終ジャッジ日時 2026-04-13 02:27:07
合計ジャッジ時間 2,688 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 22
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

def bsearch(n,l,r,res)
	if r<l then
		return res
	end
	m=(l+r)/2
	m2=m*m
	if m2==n then
		return m2
	else
		if m2<n && res<m2 then
			res=m2
		end
		if m2<n then
			return bsearch(n,m+1,r,res)
		else
			return bsearch(n,l,m-1,res)
		end
	end
end
n=gets.to_i
ans=[]
while n>0 do
	t=bsearch(n,1,10**10,1)
	n-=t
	ans<<t
end
puts ans.size
puts ans.join(" ")
0