Baekjoon #22869

Baekjoon #22869

1개의 풀이 · Python

문제 원문 보기 ↗

SOLUTION INFO

Python · main.py

main.py
import sys

def input():
    return sys.stdin.readline().rstrip()

n, k = map(int, input().split())
rocks = list(map(int, input().split()))
dp = [99999999] * n
dp[0] = 0
for i in range(n-1):
    if dp[i]>k:
        continue
    for j in range(i+1, n):
        need = (j-i) * (1 + abs(rocks[i]-rocks[j]))
        dp[j] = min(dp[j], need)
        
if dp[n-1]>k:
    print('NO')
else:
    print('YES')

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.