回答編集履歴
1
無駄なコードをカットしました
test
CHANGED
@@ -1,3 +1,35 @@
|
|
1
|
+
ヒープキューに格納する際、残りポイント数を記録する必要はなさそうなので、Aの値(を-1倍したもの)のみを格納するようにしました。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
```python
|
6
|
+
|
7
|
+
from heapq import heappush, heappop
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
def solveA(A, point):
|
12
|
+
|
13
|
+
status = [[-A] for _ in range(point + 1)]
|
14
|
+
|
15
|
+
for i in range(point):
|
16
|
+
|
17
|
+
A = heappop(status[i])
|
18
|
+
|
19
|
+
for p in range(1, point - i + 1):
|
20
|
+
|
21
|
+
heappush(status[i + p], (-(-A * (100 + p) // 100)))
|
22
|
+
|
23
|
+
return -heappop(status[point])
|
24
|
+
|
25
|
+
```
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
以下は以前の解答です。
|
30
|
+
|
31
|
+
---
|
32
|
+
|
1
33
|
heapqを使って解いてみました。
|
2
34
|
|
3
35
|
|