Leader-based Team Distribution

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

플레이어 NN명이 MM개의 팀으로 나누어 게임을 진행하려 한다. 각 팀의 인원수는 t_1,t\_1, t_2,t\_2, ,\cdots, t_Mt\_M이며, ii번째 플레이어는 리더 점수 L_iL\_i와 플레이어 점수 P_iP\_i를 가진다. 각 플레이어는 정확히 한 팀에 속해야 한다.

각 팀의 리더는 팀에 속한 플레이어 중 리더 점수가 제일 큰 사람이다. 만약 한 팀에 리더 점수가 가장 큰 플레이어가 여러 명이라면, 한 플레이어만 리더가 된다. 이때 팀의 능력은 리더의 플레이어 점수로 정의된다.

플레이어를 각 팀에 적절히 분배하여 모든 팀의 능력의 합을 최대한 크게 해 보자!

입력

첫째 줄에 NN, MM이 주어진다. (1MN 31051 \le M \le N \le 3 \cdot 10^5)

이어지는 줄부터 NN개의 줄에 걸쳐 두 정수 L_iL\_iP_iP\_i가 주어진다. (1L_i,P_i105 1 \le L\_i,P\_i \le 10^5)

마지막 줄에는 MM개의 정수가 주어진다. ii번째 수는 t_it\_i이다. (1t_iN1 \le t\_i \le N_i=1Mt_i=N\displaystyle \sum\_{i=1}^M{t\_i}=N)

출력

팀을 적절히 분배하였을 때 각 팀의 능력의 합의 최댓값을 출력하라.