만드는 중입니다

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

건조기

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

요약
옷 n개를 최대 k개의 묶음으로 나누어 전체 건조 시간의 합을 최소로 만드는 문제입니다. 각 묶음은 가장 오래 걸리는 옷에 맞춰 건조됩니다.
난이도

보통10점 중 6점

유형
동적 계획법, 정렬
정답자
아직 제출이 없습니다

문제

방금 세탁기에서 꺼낸 젖은 옷이 nn벌 있다. 전자식 건조기도 하나 있으며, 이 건조기는 한 번의 실행으로 모든 옷을 말릴 수 있을 만큼 크다. 건조용 공기의 온도는 조절할 수 있다. 다만 모든 옷을 높은 온도에서 말리면 일부 옷이 손상된다. 정확히 말하면, tit_i는 ii번째 옷을 손상 없이 말릴 수 있는 최고 온도이고, wiw_i는 ii번째 옷의 젖은 정도이다. 이 옷을 온도 TT (단, T≤tiT \le t_i)에서 말리면 mi=30+(ti−T)wim_i = 30 + (t_i - T) w_i분이 걸린다. 옷을 두 벌 이상 함께 말리면 건조기가 걸리는 시간은 그중 가장 긴 mim_i이다. 모든 옷을 손상 없이 말려야 한다.

nn벌의 옷을 최대 kk개의 그룹으로 나누고, 그룹마다 건조기를 한 번씩 돌린다. 각 옷의 tit_i와 wiw_i가 주어졌을 때, 모든 옷을 손상 없이 말리는 데 걸리는 최소 총 시간을 구하라.

그림은 n=4n = 4, k=2k = 2인 경우를 보여준다. 이때 총 시간은 90+30=12090 + 30 = 120분이다.

입력

첫째 줄에 정수 nn (1≤n≤1,0001 \le n \le 1{,}000)과 kk (1≤k≤31 \le k \le 3)이 주어진다. 이후 nn개의 줄에는 각각 정수 tit_i (40≤ti≤10040 \le t_i \le 100)와 wiw_i (0≤wi≤1000 \le w_i \le 100)가 주어진다.

출력

모든 옷을 손상 없이 말리는 데 걸리는 최소 총 시간을 정수로 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    4 2
    50 20
    70 3
    90 10
    95 1
    
    예상 출력
    120
    
  2. 예제 2

    입력
    4 2
    50 20
    70 3
    90 1
    95 1
    
    예상 출력
    85
    
  3. 예제 3

    입력
    1 3
    40 4
    
    예상 출력
    30