回答編集履歴

2

コード訂正

2021/03/15 14:58

投稿

nanoseeing
nanoseeing

スコア133

test CHANGED
@@ -20,23 +20,17 @@
20
20
 
21
21
  N, Y =gets.chomp.split.map(&:to_i)
22
22
 
23
-
23
+
24
24
 
25
25
  ans = [-1, -1, -1]
26
26
 
27
-
27
+
28
28
 
29
29
  for i in (0..N) do
30
30
 
31
- for j in (0..N) do
31
+ for j in (0..N-i) do
32
32
 
33
33
  k = N - i - j
34
-
35
- if k < 0
36
-
37
- next
38
-
39
- end
40
34
 
41
35
  if 10000*i + 5000*j + 1000*k == Y
42
36
 
@@ -50,7 +44,7 @@
50
44
 
51
45
  end
52
46
 
53
-
47
+
54
48
 
55
49
  puts ans
56
50
 

1

N-i-jは負にならないから問題ありませんでした。

2021/03/15 14:58

投稿

nanoseeing
nanoseeing

スコア133

test CHANGED
@@ -1,12 +1,6 @@
1
1
  10000 * i == Y の判定文ですが、ちょうどN枚である条件が抜けています。
2
2
 
3
3
  10000 * i == Y && i == N でACできました。
4
-
5
-
6
-
7
- また、気になった点として、(N-i-j)が負になる可能性があります。
8
-
9
- ACには関係ありませんでしたが、気をつけてください。
10
4
 
11
5
 
12
6