πλ¬Έμ νμνκΈ°
- Nλͺ μ μμλ€μ ν€ μμλλ‘ μΌλ ¬λ‘ μ€ μΈμ°κ³ , μ΄ Kκ° μ‘°λ‘ λλκ³ μ ν¨
- κ° μ‘°μλ μμμ΄ μ μ΄λ νλͺ , κ°μ μ‘°μ μν μμλ€μ μλ‘ μΈμ ν΄μμ΄μΌ ν¨
- μ‘°λ§λ€ κ°μ λ¨μ²΄ ν°μ μΈ λ₯Ό λ§λ€ λ, (μ‘°μμ κ°μ₯ ν€κ° ν° μμμ ν€ - κ°μ₯ ν€κ° μμ μμμ ν€) λ§νΌμ λΉμ©
- Kκ°μ μ‘°μ λν΄ ν°μ μΈ λ§λλ λΉμ©μ ν©μ μ΅μλ‘ νμ λ, μ΅μ λΉμ© ꡬνκΈ°
νΈμ±ν΄μΌ ν μ‘°κ° Kκ° λ¨μ μμ λ, Nλͺ μ ν€ μμΌλ‘ μ€ μΈμμ§ μμλ€ μ€ μ‘°λ₯Ό μ΅μ μΌλ‘ νΈμ±νλ λ°©λ²μ μΈμ ν μμλ€ μ¬μ΄μ ν€ μ°¨μ΄λ₯Ό κ³μ°νμ¬, κ·Έ μ°¨μ΄κ° μ€ κ°μ₯ ν° κ°μ κΈ°μ€μΌλ‘ κ°μ ꡬκ°μ λλλ κ²μ΄λ€.
- Nλͺ μ μμλ€μ ν€λ₯Ό μ€λ¦μ°¨μμΌλ‘ μ λ ¬νλ€. (λ¬Έμ μμ μ΄λ―Έ μ λ ¬λ μνλ‘ μ£Όμ΄μ§)
- μΈμ ν μμλ€ κ°μ ν€ μ°¨μ΄λ₯Ό κ³μ°νμ¬ λ°°μ΄μ μ μ₯νλ€.
μλ₯Ό λ€μ΄, μμμ ν€κ° [1, 3, 5, 6, 10]μ΄λΌλ©΄ κ° μ°¨μ΄λ [2, 2, 1, 4]κ° λλ€. - μ΄ μ°¨μ΄ λ°°μ΄μμ K−1κ°μ κ°μ₯ ν° μ°¨μ΄λ₯Ό μ ννλ€. μ΄ K−1κ°μ μ°¨μ΄κ° μ‘°λ₯Ό λλλ κΈ°μ€μ΄ λλ€.
- μ 체 ν€ μ°¨μ΄μ ν©μμ μ νν K−1μ μ°¨μ΄λ₯Ό μ μΈν λλ¨Έμ§ ν©μ΄ ν°μ μΈ μ μ λΉμ©μ μ΅μ ν©μ΄ λλ€.
πμ½λ μ€κ³νκΈ°
- Nλͺ μ μμμ ν€μ νΈμ±ν΄μΌ ν μ‘°μ κ°μ Kλ₯Ό μ λ ₯λ°λλ€.
- μμλ€μ ν€λ₯Ό μ€λ¦μ°¨μμΌλ‘ μ λ ¬νμ¬ λ¦¬μ€νΈ heightsλ‘ μ μ₯νλ€.
- μΈμ ν μμλ€ κ°μ ν€ μ°¨μ΄λ₯Ό κ³μ°νμ¬ λ¦¬μ€νΈ differencesμ μ μ₯νλ€.
- differences 리μ€νΈλ₯Ό λ΄λ¦Όμ°¨μ μ λ ¬νλ€.
- differences[K-1:]μ λͺ¨λ μμμ ν©μ κ³μ°νμ¬ μΆλ ₯νλ€.
πμ λ΅ μ½λ
N, K = map(int, input().split())
heights = list(map(int, input().split()))
differences = sorted([heights[i+1]-heights[i] for i in range(N-1)], reverse=True)
print(sum(differences[K-1:]))
728x90