Skip to content

Commit f1f3b29

Browse files
committed
[BOJ]#데스노트/골드4/실패
https://www.acmicpc.net/problem/117
1 parent 6a1d525 commit f1f3b29

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

Hongjoo/백준/데스노트.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
"""
2+
https://www.acmicpc.net/problem/2281
3+
# 참고 : https://cme10575.tistory.com/161
4+
"""
5+
import sys
6+
input = sys.stdin.readline
7+
8+
n, m = map(int, input().split())
9+
10+
names = [int(input()) for _ in range(n)]
11+
dp = [[-1]*(m+1) for _ in range(n)]
12+
dp[0][names[0]] = 0
13+
14+
for r in range(n-1):
15+
for c in range(1, m+1):
16+
if dp[r][c] != -1:
17+
#뒤에 붙이는 경우의 수
18+
if c+1+names[r+1] <= m:
19+
dp[r+1][c+names[r+1]+1] = dp[r][c]
20+
#다음줄에 쓰는 경우의 수
21+
if dp[r+1][names[r+1]] != -1:
22+
dp[r+1][names[r+1]] = min(dp[r+1][names[r+1]], dp[r][c] + (m-c)**2)
23+
else:
24+
dp[r+1][names[r+1]] = dp[r][c] + (m-c)**2
25+
26+
answer = 1000000000
27+
for i in range(1, m+1):
28+
if dp[n-1][i] != -1:
29+
answer = min(answer, dp[n-1][i])
30+
print(answer)

0 commit comments

Comments
 (0)