結果

問題 No.115 遠足のおやつ
ユーザー horiesiniti
提出日時 2018-03-28 09:16:04
言語 Ruby
(3.4.1)
結果
TLE  
実行時間 -
コード長 751 bytes
コンパイル時間 162 ms
コンパイル使用メモリ 7,680 KB
実行使用メモリ 32,028 KB
最終ジャッジ日時 2024-06-25 13:03:34
合計ジャッジ時間 7,214 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 3
other AC * 4 TLE * 1 -- * 35
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:50: warning: ambiguous first argument; put parentheses or a space even after `-' operator
Syntax OK

ソースコード

diff #

def f(a,b)
	return true if b==[]
	a.size.times{|i|
		return a[i]<b[i] if a[i]!=b[i]
	}
	return false
end

n,d,k=gets.split.map{|e| e.to_i}
dp = Array.new(d+2).map{Array.new(k+2).map{Array.new(n+2,[])}}

n.times{|i|
	m2=i+1
	break if d<m2
	break if n<m2
	dp[m2][1][m2]=[m2]
}
(1..(k-1)).each{|i|
	d.times{|j|
		e0=j
		n.times{|j1|
			if dp[j][i][j1]==[]
				next
			end
			e0=j
			e1=dp[j][i][j1]
			((j1+1)..n).each{|add|
				e2=e0+add
				if dp.size<=e2
					break
				end
				e3=Marshal.load(Marshal.dump(e1))
				e3<<add
				if dp[e2][i+1][add]==[] || f(e3,dp[e2][i+1][add])==true
					dp[e2][i+1][add]=e3
				end
			}
		}
	}
}

ans=[]
n.times{|i|
	m2=i+1
	if f(dp[d][k][m2],ans)
		ans=dp[d][k][m2]
	end
}
if ans==[]
	puts -1
else
	puts ans*" "
end
0