거대한 성벽
시간 제한3초메모리 제한512 MB
길이 r인 두 구간을 골라 겹치는 부분에 추가 높이가 더해질 때, 모든 구간 쌍의 벽 전체 높이 중 k번째로 작은 값을 구한다.
문제
당신은 작은 나라 시나이의 황제가 되었다. 국경 너머에서 넘어오는 약탈을 막으려고 국경에 거대한 성벽을 세우기로 했다. 공사는 뚫리지 않는 성벽을 짓는 세계 유일의 회사인 W사에 맡겼다.
W사는 모든 성벽을 같은 방식으로 짓는다. 성벽의 길이는 미터이고, 1미터짜리 조각마다 길이 방향으로 부터 까지 번호를 붙인다. 조각마다 높이는 다를 수 있다. 높이는 길이가 인 세 배열 , , 와 정수 ()로 정해지며, 모든 에 대해 이다. 이 세 배열과 는 W사가 짓는 모든 성벽에서 같다.
구체적인 설계는 을 만족하는 두 정수 와 가 정한다. 양 끝을 포함하는 두 구간 과 을 잡으면, 번째 조각의 높이는 다음과 같다.
- 두 구간 어디에도 속하지 않으면
- 두 구간 중 정확히 한 곳에만 속하면
- 두 구간 모두에 속하면
성벽의 강도는 조각 개의 높이를 모두 더한 값이다.
, , 와 는 어떤 성벽에서도 같으므로, W사는 가능한 설계를 모두 강도가 감소하지 않는 순서로 정렬한 가격표를 준다. 당신은 이 가격표에서 번째 설계를 고른다. 고른 성벽의 강도를 구하라.
입력
첫째 줄에 세 정수 , , 가 주어진다 (, , ). 차례대로 성벽의 길이, 고르는 구간의 길이, 가격표에서의 순위이다.
둘째 줄에 배열 의 원소 개가 주어진다 ().
셋째 줄에 배열 의 원소 개가 주어진다 ().
넷째 줄에 배열 의 원소 개가 주어진다 ().
출력
가격표에서 번째 성벽의 강도를 한 줄에 출력한다. 강도가 같은 설계가 여러 개 있어도 번째 강도 값은 정렬 순서와 무관하게 하나로 정해진다.
힌트
첫 번째 예제에서는 성벽을 세 가지로 지을 수 있다.
- , 를 고르면 높이가 이고 강도는 이다.
- , 을 고르면 높이가 이고 강도는 이다.
- , 을 고르면 높이가 이고 강도는 이다.