원본 문제 : https://www.acmicpc.net/problem/14501
문제 참고 : https://aig2029.tistory.com/75
<첫번째>
import java.util.*
fun main() {
val sc: Scanner = Scanner(System.`in`)
val n: Int = sc.nextInt()
var t: IntArray = IntArray(n+1)
var p: IntArray = IntArray(n+1)
var dp: IntArray = IntArray(n+1)
for (i in 1 until n+1) {
t[i] = sc.nextInt()
p[i] = sc.nextInt()
}
var max: Int = 0
for (i in 1 until n+1) {
dp[i] = Math.max(dp[i], max)
if (i + t[i] <= n + 1) {
dp[i - 1 + t[i]] = Math.max(dp[i - 1 + t[i]], p[i] + dp[i - 1])
}
if (max<dp[i]) max = dp[i]
}
println(max)
}
'코딩연습' 카테고리의 다른 글
[백준] N-Queen (9663)(Kotlin) (0) | 2020.03.18 |
---|---|
[백준] 로또 (6603)(Kotlin) (0) | 2020.02.26 |
[백준] 회의실배정 (1931)(Kotlin) (0) | 2020.02.20 |
[백준] 동전 0 (11047)(Kotlin) (0) | 2020.02.20 |
[백준] ATM (11399)(Kotlin) (0) | 2020.02.20 |
댓글