Skip to content

Instantly share code, notes, and snippets.

@parrot-studio
Last active December 30, 2015 02:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parrot-studio/7763295 to your computer and use it in GitHub Desktop.
Save parrot-studio/7763295 to your computer and use it in GitHub Desktop.
https://paiza.jp/poh/ec-campaign に挑戦したコード
# coding: utf-8
def read_data(count)
c = count.to_i
return if c < 0
ret = []
count.times do
s = gets
next unless s
ret << s.to_i
end
ret
end
def max_price(target, prices)
return if target < 0
return if (prices.nil? || prices.empty?)
return 0 if target <= 0
ps = prices.reject{|pr| pr > target}
return 0 if ps.empty?
max = 0
ps.combination(2).each do |d|
pr = d.first + d.last
next if pr > target
max = pr if pr > max
break if max == target
end
max
end
counts = gets
targets = counts.chomp.split(' ')
pcount = targets.first.to_i
dcount = targets.last.to_i
exit if (pcount < 0 || dcount < 0)
prices = read_data(pcount)
targets = read_data(dcount)
targets.each do |target|
rsl = max_price(target, prices)
puts (rsl ? rsl : 0)
end
exit
@parrot-studio
Copy link
Author

@parrot-studio
Copy link
Author

@parrot-studio
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment