만드는 중입니다

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

올림피아드

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

요약
N명의 참가자가 K개 종목에서 받은 점수가 주어질 때, 팀의 종목별 최고 점수를 합한 값 중 C번째로 큰 팀 점수를 구합니다.
난이도

어려움10점 중 8점

유형
이분 탐색, 동적 계획법, 조합론, 비트 연산
정답자
아직 제출이 없습니다

문제

이웃한 두 도시가 매년 KK명의 참가자로 구성된 팀을 보내 KK개의 서로 다른 종목에서 겨룬다. 각 참가자는 모든 종목에 출전한다. 팀의 종목별 점수는 그 팀의 참가자 중 해당 종목에서 가장 높은 점수를 받은 사람의 점수다. 팀의 총점은 모든 종목 점수의 합이다. 예를 들어 K=3K = 3이고 참가자들의 점수가 (4,5,3)(4, 5, 3), (7,3,6)(7, 3, 6), (3,4,5)(3, 4, 5)이면, 팀의 종목별 점수는 (7,5,6)(7, 5, 6)이고 팀의 총점은 1818이다.

각 도시에는 대회에 보낼 수 있는 후보 참가자 집합이 있다. 두 도시는 어느 도시의 팀이 가장 좋은지뿐 아니라 어느 도시의 CC번째로 좋은 팀이 더 나은지를 두고도 다투고 있다. C=1C = 1은 가장 좋은 팀, C=2C = 2는 두 번째로 좋은 팀을 뜻한다.

도시 하나가 후보 참가자들로 구성할 수 있는 서로 다른 KK명 팀 전체를 고려했을 때, 그 도시의 CC번째로 좋은 팀의 총점 기댓값을 구하는 것이 과제다. 참가자가 한 명이라도 다르면 두 팀은 서로 다른 팀이다.

입력

첫 줄에 정수 NN, KK, CC가 주어진다. NN은 한 도시의 후보 참가자 총수이고, KK는 팀의 인원(K≤NK \le N)이며, CC는 구하려는 팀의 순위다(CC는 가능한 KK명 팀의 총수를 넘지 않는다).

이어지는 NN개의 줄에는 각각 KK개의 음이 아닌 정수가 주어지며, 이는 한 후보 참가자의 KK개 종목 예상 점수다. 어떤 점수도 10610^6을 넘지 않는다.

출력

한 줄에 CC번째로 좋은 팀의 총점을 출력한다.

예제1

  1. 예제 1

    입력
    5 4 4
    7 0 4 9
    3 0 8 4
    1 1 3 7
    5 1 3 4
    4 2 2 9
    
    예상 출력
    24