피자 배달
시간 제한1초메모리 제한128 MB
도로 위 피자집에서 출발해 방문할 집과 순서를 정해 수입에서 도착 시각을 뺀 총이익을 최대로 합니다.
문제
직선 도로 위 한 지점에 피자 가게가 있고, 같은 도로를 따라 여러 손님의 집이 늘어서 있다. 더 많은 주문을 끌어모으기 위해 가게 주인은 배달이 늦으면 할인을 해 주기로 했다. 주문 후 정해진 유예 시간이 지나면, 그때부터 피자를 건네줄 때까지 단위 시간마다 1원씩 벌점(할인액)이 쌓인다.
오늘은 모든 집이 같은 순간에 주문했고, 유예 시간이 끝나는 순간에 배달이 시작되므로 벌점은 시각 부터 쌓이기 시작한다. 주인은 단위 시간당 거리 1만큼 이동하며, 손님에게 피자를 건네는 데는 시간이 걸리지 않는다.
한 손님에게서 얻는 이익은 그 손님의 판매 수익에서 늦은 배달로 쌓인 벌점을 뺀 값이고, 이 벌점은 피자가 도착한 시각과 같다. 바쁜 날에는 벌점이 수익보다 커지는 손님에게는 배달하지 않는 편이 낫다. 전체 이익이 최대가 되도록 어떤 손님에게 어떤 순서로 배달할지 정하라.
예를 들어 아래 그림은 손님 의 피자 가게 기준 상대 위치와 각 손님에게서 얻는 수익을 보여 준다.

배달 순서가 이면 늦은 배달 벌점은 가 , 이 , 가 , 가 , 이 이다. 따라서 손님별 이익은 각각 이다. 의 이익이 이므로 에게는 배달하지 않는 편이 좋고, 이 순서의 총 이익은 이다. 이 예에서 주인이 얻을 수 있는 최대 이익은 이며, 이는 순서 로 배달할 때(는 건너뜀) 달성된다.
각 손님의 피자 가게 기준 위치와 손님별 수익이 주어질 때, 얻을 수 있는 최대 총 이익을 구하는 프로그램을 작성하라.
입력
첫째 줄에 테스트 케이스의 수 가 주어진다. 각 테스트 케이스는 세 줄로 이루어진다.
- 첫째 줄에는 손님의 수 ()이 주어진다.
- 둘째 줄에는 개의 정수 (각 )이 주어진다. 는 번째 손님의 피자 가게 기준 위치이다.
- 셋째 줄에는 개의 정수 (각 )이 주어진다. 는 손님 에게 배달하여 얻는 수익이다.
둘째 줄과 셋째 줄의 모든 정수는 이상 이하이다.
출력
각 테스트 케이스마다 한 줄에, 손님들에게 피자를 배달하여 얻을 수 있는 최대 총 이익을 출력한다.