산타의 선물

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

요약
자녀 수 k가 1부터 M일 때마다, 고른 선물 종류마다 k개씩 담아 크기 C를 넘지 않으면서 총 가격을 최대로 하는 값을 구한다.
난이도

어려움10점 중 8점

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

문제

산타는 한 가족에게 줄 선물을 가방에 담으려고 한다. 선물의 종류는 NN가지다. ii번째 선물 (1≤i≤N1 \le i \le N)의 크기와 가격은 각각 sis_i, pip_i다. 가방의 크기는 CC이므로 산타는 선물의 총 크기가 CC를 넘지 않도록 담을 수 있다. 같은 종류의 선물을 여러 개 받으면 아이들이 불행해하므로, 산타는 한 아이에게 같은 종류의 선물을 많아야 하나만 줄 수 있다.

또한 같은 가족의 다른 아이가 받은 선물을 받지 못하면 그 아이는 불평한다. 따라서 산타는 한 가족의 모든 아이에게 선물을 공평하게 나눠 줘야 한다. 즉, 아이가 kk명인 가족에게는 각 선물 종류마다 0개 또는 kk개를 담아야 한다. 가방 하나를 한 가족에게 주므로, 한 가족에게 줄 선물의 총 크기도 CC를 넘지 않는다.

산타는 한 가족에게 담는 선물의 총 가격을 최대로 하고 싶지만, 방문할 가족의 아이 수를 아직 모른다. 그 수는 많아야 MM명인 것으로 보인다. 가능한 모든 경우에 대비해, 아이가 kk명인 가족에 대한 최대 총 가격을 각 1≤k≤M1 \le k \le M에 대해 구하라.

입력

입력은 다음과 같은 형식의 단일 테스트 케이스로 주어진다.

$C$ $N$ $M$
$s_1$ $p_1$
...
$s_N$ $p_N$

첫째 줄에는 세 정수 CC, NN, MM이 주어진다. CC (1≤C≤1041 \le C \le 10^4)는 가방의 크기, NN (1≤N≤1041 \le N \le 10^4)은 선물의 종류 수, MM (1≤M≤1041 \le M \le 10^4)은 가족의 최대 아이 수다. 다음 NN개 줄의 ii번째 줄에는 두 정수 sis_i, pip_i (1≤si,pi≤1041 \le s_i, p_i \le 10^4)가 주어진다. sis_i와 pip_i는 각각 ii번째 선물의 크기와 가격이다.

출력

출력은 MM개 줄로 이루어진다. kk번째 줄에는 아이가 kk명인 가족에 대한 선물의 최대 총 가격을 출력한다.

예제4

  1. 예제 1

    입력
    6 3 2
    1 2
    2 10
    3 5
    
    예상 출력
    17
    24
    
  2. 예제 2

    입력
    200 5 5
    31 41
    59 26
    53 58
    97 93
    23 84
    
    예상 출력
    235
    284
    375
    336
    420
    
  3. 예제 3

    입력
    1 1 2
    1 1
    
    예상 출력
    1
    0
    
  4. 예제 4

    입력
    2 2 2
    1 1
    2 100
    
    예상 출력
    100
    2