만드는 중입니다

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

영화관

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

요약
각 행의 좌석 편안함 값과 총 증가 한도 k가 주어질 때, 들어오는 사람이 왼쪽에서 접근 가능한 가장 편한 빈 좌석에 앉는 규칙에서 관객 수를 최대로 만드는 방법을 구합니다.
난이도

어려움10점 중 9점

유형
동적 계획법, 스택, 이분 탐색, 배열
정답자
아직 제출이 없습니다

문제

이 도시의 주 영화관에는 푹신한 좌석이 줄지어 있는 상영관이 하나 있다. 각 좌석에는 0 이상의 정수인 편안함 값이 있다. 편안함 값이 클수록 더 편한 좌석이다.

줄은 상영관의 왼쪽에서만 들어갈 수 있다. 한 줄의 좌석은 왼쪽부터 1번에서 mm번까지 번호가 매겨져 있다. 사람이 줄에 들어서면, 그 사람이 앉을 수 있는 빈 좌석 중 가장 편안한 좌석에 앉는다. 좌석 ii에 앉으면, 이후에 들어오는 사람은 i+1i+1번부터 mm번까지 좌석에 앉을 수 없다. 앉을 수 있는 빈 좌석의 편안함 값이 가장 큰 좌석이 여럿이면 가장 왼쪽 좌석에 앉는다.

주인은 관객을 더 많이 모으려고 일부 좌석의 편안함 값을 올리려 한다. 좌석의 편안함 값을 1단위 올리는 데는 정해진 비용이 든다. 모든 좌석에서 올리는 값의 합은 kk를 넘을 수 없다. 편안함 값을 전체적으로 최대 kk단위까지 올려서 상영관의 관객 수를 최대로 만드는 방법을 구하라.

입력

첫 줄에 음이 아닌 정수 nn, mm, kk가 주어진다. nn은 줄의 개수, mm은 한 줄의 좌석 수, kk는 모든 좌석의 편안함 값을 올릴 수 있는 총량이다. 제약 조건은 1≤n⋅m≤3×1051 \le n \cdot m \le 3 \times 10^5이고 0≤k≤10120 \le k \le 10^{12}이다.

이어지는 nn개의 줄에는 각각 mm개의 음이 아닌 정수가 주어진다. 각 값은 10610^6 이하이며, 해당 줄의 좌석 편안함 값을 왼쪽부터 차례대로 나타낸다.

출력

관객 수의 최댓값을 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    2 3 10
    10 1 12
    8 3 6
    
    예상 출력
    5
    
  2. 예제 2

    입력
    1 4 6
    9 8 10 8
    
    예상 출력
    3
    
  3. 예제 3

    입력
    1 3 2
    10 10 10
    
    예상 출력
    2