complete 1092.kt 23029.kt 26587.kt 30553.kt

This commit is contained in:
2025-07-23 20:33:13 +09:00
parent bff1a8295b
commit 2e957b221e
4 changed files with 158 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
fun maxFoodEaten(cntsFoods: List<Int>): Int {
val dp = Array(cntsFoods.size) { Array<Int>(3) { 0 } }
// 0: 안먹을경우
// 1: 첫번째인경우
// 2: 두번째인경우
for ((i, food) in cntsFoods.withIndex()) {
if (i == 0) {
dp[i][1] = food
dp[i][2] = 0
dp[i][0] = 0
} else if (i == 1) {
dp[i][2] = dp[i - 1][1] + food / 2
dp[i][1] = dp[i - 1][0] + food
dp[i][0] = dp[i - 1].max()
} else {
dp[i][0] = dp[i - 1].max()
dp[i][1] = dp[i - 1][0] + food
dp[i][2] = dp[i - 1][1] + food / 2
}
}
return dp.last().max()
}
fun main() = with(System.`in`.bufferedReader()) {
val n = this.readLine().toInt()
val cntsFoods = (1..n).map {
this.readLine().toInt()
}
println(maxFoodEaten(cntsFoods))
}