빙고
시간 제한1초메모리 제한512 MB
N x M 행렬의 각 열에 토큰을 하나씩 놓아 행별 토큰 개수의 최대-최소 차이를 최소로 하고, 그다음 토큰이 놓인 칸 값의 최댓값을 최소로 한다.
문제
다음과 같은 게임을 생각하자. 크기의 정수 행렬이 있다. 이 행렬의 몇몇 칸에 개의 토큰을 놓아야 하는데, 조건은 다음과 같다.
- 각 열에는 토큰이 정확히 하나씩 들어 있다.
- 한 행에 들어 있는 토큰 개수의 최댓값과 최솟값의 차이 이 가능한 한 최소이다.
- 이러한 토큰 배치 중에서, 토큰이 놓인 칸에 적힌 값의 최댓값이 가능한 한 최소인 배치를 고른다.
입력
첫째 줄에 두 정수 과 이 주어진다. () 그다음 개의 줄에 걸쳐 행렬 가 주어지며, 각 줄에는 개의 정수 가 들어 있다. ()
출력
찾은 배치를 설명하는 두 정수를 출력한다. 의 최솟값과, 토큰이 놓인 칸에 적힌 값의 최솟값을 공백으로 구분해 출력한다.