We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 6a1d525 commit f1f3b29Copy full SHA for f1f3b29
1 file changed
Hongjoo/백준/데스노트.py
@@ -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