세 번째 그룹 시험
면접 대비시간 제한1초메모리 제한512 MB
각 블록의 이론 점수 x_i와 실습 점수 y_i가 주어질 때, 이론을 최소 a개, 실습을 최소 b개 고르면서 총점을 최대로 만드는 방법을 구합니다.
문제
한 교사가 시험의 새로운 형식을 고안했다. 시험은 개의 블록으로 구성되며, 각 블록은 하나의 주제에 해당한다. 모든 (1부터 까지)에 대해 학생은 번째 블록에서 성적 를 받는다. 모든 성적은 서로 독립이며, 각 성적은 0 이상 100 이하의 정수다.
각 블록에서 학생은 성적을 얻는 방법을 하나 고른다. 이론 문제에 답하거나 실습 문제를 푸는 것이다. 시험에 성공적으로 합격하려면 이론 문제에 답하여 채점된 블록이 최소 개여야 하고, 실습 문제를 풀어 채점된 블록이 최소 개여야 한다. 합격하면 최종 성적 는 모든 블록 성적의 합이다. .
일리야가 곧 이 시험을 본다. 블록 에서 이론 문제에 답하면 점을, 실습 문제를 풀면 점을 받는다. 시험 총점이 최대가 되도록 이론으로 답할 블록(최소 개)과 실습으로 풀 블록(최소 개)을 정하는 방법을 찾아라.
입력
첫 번째 줄에 세 정수 , , 가 주어진다. 은 주제의 총 개수, 는 이론으로 합격해야 하는 블록의 최소 개수, 는 실습으로 합격해야 하는 블록의 최소 개수다 (; ). 이 보장된다.
두 번째 줄에는 이론 문제에 답했을 때 받는 성적 가 개 주어진다 ().
세 번째 줄에는 실습 문제를 풀었을 때 받는 성적 가 개 주어진다 ().
출력
첫 번째 줄에는 일리야가 받을 수 있는 최대 총 성적 를 하나의 정수로 출력한다.
두 번째 줄에는 공백으로 구분된 개의 문자를 출력한다. 번째 문자는 블록 에서 이론 문제에 답해야 하면 T, 실습 문제를 풀어야 하면 P다. T는 최소 개, P는 최소 개 포함되어야 한다.