아이스크림 배낭
시간 제한5초메모리 제한512 MB
정확히 K개의 아이스크림을 골라 그중 가장 큰 칼로리를 최소로 만들고, 그러한 선택이 여럿이면 행복의 합이 최대가 되도록 골라 두 값을 출력한다.
문제
N개의 아이스크림을 파는 멋진 아이스크림 가게가 있다. 각 아이스크림은 칼로리 수를 나타내는 와 행복도를 나타내는 두 수로 표현된다.
정확히 K개의 아이스크림을 사려고 하는데, 이때 가장 칼로리가 높은 아이스크림의 칼로리가 가능한 한 작아야 한다. 그런 방법이 여러 가지라면, 살 아이스크림의 총 행복도, 즉 고른 아이스크림들의 행복도 합을 최대화하려고 한다.
입력
첫째 줄에 테스트 케이스의 수를 나타내는 정수 T가 주어진다.
각 테스트 케이스는 두 정수 N과 K(1 ≤ K ≤ N ≤ 10^5)가 있는 줄로 시작한다. N은 가게에 있는 아이스크림의 수, K는 사려고 하는 아이스크림의 수다.
다음 줄에는 N개의 정수 (0 ≤ ≤ 10^9)이 주어진다. 는 i번째 아이스크림의 칼로리 수다. 그다음 줄에는 N개의 정수 (0 ≤ ≤ 10^9)이 주어진다. 는 i번째 아이스크림의 행복도다.
출력
각 테스트 케이스마다, 살 아이스크림 중 가장 칼로리가 높은 아이스크림의 칼로리와 살 아이스크림의 총 행복도를 공백으로 구분해 한 줄에 출력한다.
목표는 정확히 K개의 아이스크림을 사면서 가장 칼로리가 높은 아이스크림의 칼로리를 가능한 한 작게 만드는 것이다. 그런 방법이 여러 가지라면, 살 아이스크림의 총 행복도를 최대화하려고 한다.