gets $t=gets.to_i s,*$a=gets.split.map(&:to_i) $memo={} #見つけたらfalseを返すキモイ関数 def dfs i,n $memo[[i,n]]||=$a[i]?n>$t||[:+,:*].all?{|o|dfs(i+1,n.send(o,$a[i]))||(print o)}:n!=$t end dfs 0,s puts