def main(argv) (n, c) = gets.chomp.split(' ').map(&:to_i) ps = [0] * n n.times{|i| ps[i] = gets.chomp.to_i} ps.sort!{|a, b| b <=> a} cs1 = [] cs2 = [] c.times do |j| cc = gets.chomp.split(' ').map(&:to_i) if cc[0] == 1 then cs1.push(cc[1]) else # cc[0] == 2 cs2.push(cc[1]) end end cs1.sort!{|a, b| b <=> a} cs2.sort!{|a, b| b <=> a} total = 0 ps.each do |price| type1_discount = 0 type1_discount = [cs1[0], price].min if cs1.size > 0 type2_discount = 0 type2_discount = cs2[0] * (price / 100) if cs2.size > 0 discount = 0 if cs1.size > 0 && cs2.size > 0 then if type1_discount >= type2_discount then discount = type1_discount cs1.shift else discount = type2_discount cs2.shift end elsif cs1.size > 0 then discount = type1_discount cs1.shift elsif cs2.size > 0 then discount = type2_discount cs2.shift end total += [price - discount, 0].max end puts total.to_s end main(ARGV) if self.to_s == 'main'