teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

修正したコード2を追記

2019/05/28 13:04

投稿

amatsukixprog
amatsukixprog

スコア17

title CHANGED
File without changes
body CHANGED
@@ -46,5 +46,30 @@
46
46
  sum += c[i][1]*b
47
47
  end
48
48
  puts (A.inject(:+)+sum)
49
+ ```
49
50
 
51
+ ### 修正したコード2
52
+
53
+ ```Ruby
54
+ N,M=gets.chomp.split.map(&:to_i)
55
+ A=gets.chomp.split.map(&:to_i)
56
+ c=M.times.map { gets.split.map(&:to_i) }
57
+ c.sort_by!{|i,j| j }.reverse!
58
+ A.sort!
59
+ sum=0
60
+ M.times do |i|
61
+ break if A.empty? || A[0]>c[i][1]
62
+ b = 0
63
+ c[i][0].times do |j|
64
+ break if A[j]>c[i][1]
65
+ b += 1
66
+ end
67
+ A.shift(b)
68
+ sum += c[i][1]*b
69
+ end
70
+ if A.empty? then
71
+ puts sum
72
+ else
73
+ puts (A.inject(:+)+sum)
74
+ end
50
75
  ```

1

修正したコードを追記

2019/05/28 13:04

投稿

amatsukixprog
amatsukixprog

スコア17

title CHANGED
File without changes
body CHANGED
@@ -25,4 +25,26 @@
25
25
  end
26
26
  puts A.inject(:+)
27
27
 
28
+ ```
29
+
30
+ ### 修正したコード
31
+ ```Ruby
32
+ N,M=gets.chomp.split.map(&:to_i)
33
+ A=gets.chomp.split.map(&:to_i)
34
+ c=M.times.map { gets.split.map(&:to_i) }
35
+ c.sort_by!{|i,j| j }.reverse!
36
+ A.sort!
37
+ sum=0
38
+ M.times do |i|
39
+ break if A[0]>c[i][1]
40
+ b = 0
41
+ c[i][0].times do |j|
42
+ break if A[j]>c[i][1]
43
+ b += 1
44
+ end
45
+ A.shift(b)
46
+ sum += c[i][1]*b
47
+ end
48
+ puts (A.inject(:+)+sum)
49
+
28
50
  ```