質問編集履歴
6
タイトルの修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ABC146-C Python
|
1
|
+
ABC146-C-Buy an Integer PythonでACがとれない
|
test
CHANGED
File without changes
|
5
タグ追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
4
ソースコードに説明を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -54,6 +54,8 @@
|
|
54
54
|
|
55
55
|
|
56
56
|
|
57
|
+
# 所持金が一定以上の場合、最大値は常に10^9
|
58
|
+
|
57
59
|
if ((10**9)*a + 9*b) <= x:
|
58
60
|
|
59
61
|
print(10**9)
|
@@ -62,9 +64,13 @@
|
|
62
64
|
|
63
65
|
ans = 0
|
64
66
|
|
67
|
+
# d(N)に1 → 9を順に代入
|
68
|
+
|
65
69
|
for i in range(1, 10):
|
66
70
|
|
67
71
|
temp = (x - (b*i))/a
|
72
|
+
|
73
|
+
# 所持金で買える最大値の桁数がd(N)と一致しているか調べる
|
68
74
|
|
69
75
|
if 10**(i-1) <= temp < (10**i):
|
70
76
|
|
3
テストケースの判定追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,6 +3,12 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
Python3でこの問題を解いたのですがACがとれません。検索してみると二分探索法が最適解として紹介されていましたが自分のやっている方法で何が間違っているのか分からないので、どこを直せば良いか教えていただきたいです。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
追記:
|
10
|
+
|
11
|
+
WAと判定されたのはborder01とmax01です。それ以外のテストケースではACでした。
|
6
12
|
|
7
13
|
|
8
14
|
|
2
基本方針の加筆
test
CHANGED
File without changes
|
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
式変形すると N <= (x - b*d(N))/a
|
36
36
|
|
37
|
-
d(N)に1から9を入れていき桁数が合うものを答える。
|
37
|
+
d(N)に1から9を入れていき桁数が合う最大のものを答える。
|
38
38
|
|
39
39
|
|
40
40
|
|
1
抜粋した問題文を訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,7 +14,9 @@
|
|
14
14
|
|
15
15
|
整数Nを買うには a*N + b*d(N) 円が必要。(d(N)はNの桁数)
|
16
16
|
|
17
|
-
所持金が x円 のとき買うことのできる整数Nの最大値は?
|
17
|
+
所持金が x円 のとき、買うことのできる整数Nの最大値は?
|
18
|
+
|
19
|
+
1つも買えない場合は 0 を出力
|
18
20
|
|
19
21
|
1 <= a <= 10^9
|
20
22
|
|