만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

포도주 시음

면접 대비

시간 제한1초메모리 제한512 MB

요약
N개의 와인 중 K개를 골라 순서대로 마실 때, 낮은 맛에서 높은 맛으로 올라가는 차이의 합을 최대로 구합니다.
난이도

보통10점 중 5점

유형
그리디, 정렬
정답자
아직 제출이 없습니다

문제

산들이는 포도주를 좋아한다. 그는 마트에서 파는 NN종류의 포도주를 사서 음미하려고 한다. 포도주를 한 병 단위로 사면 산들이에게 금전적인 부담이 있기 때문에, 그는 작은 용기에 담긴 포도주를 살 것이다. NN종류의 포도주는 각각 맛 T1T_1, T2T_2, …, TNT_N을 갖고 있으며, 값이 높을수록 맛있는 포도주이다.

산들이가 맛있는 포도주를 마시다가 맛없는 포도주를 마시면, 그 맛이 감기약과 비슷해서 사실상 0의 맛을 느낀다. 맛없는 포도주를 마시다가 맛있는 포도주를 마시면, 두 포도주의 맛 차이만큼 맛을 느낀다. 가장 먼저 마시는 포도주는 그 포도주 본연의 맛 그대로를 느낀다.

산들이는 주량이 매우 적어서 KK종류의 포도주를 마시면 취해 잠자리에서 뻗어버린다. 따라서 NN종류 중에서 KK종류를 골라 마신다. 산들이는 고른 KK종류를 마시면서 느끼는 맛의 합을 최대로 만들고자 한다.

입력

첫 번째 줄에 포도주의 수 NN과 산들이의 주량 KK가 주어진다. (1≤K≤N≤3000001 \le K \le N \le 300000)

두 번째 줄에 NN개 포도주의 맛 TiT_i가 주어진다. (1≤Ti≤10000000001 \le T_i \le 1000000000)

출력

산들이가 느끼는 맛의 합의 최댓값을 출력한다.

예제1

  1. 예제 1

    입력
    5 3
    8 3 15 8 6
    
    예상 출력
    20