COCI '13 Contest 1 #4 Lopov

View as PDF

Submit solution

Points: 15 (partial)
Time limit: 0.6s
Memory limit: 32M

Problem types
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

The difficult economic situation in the country and reductions in government agricultural subsidy funding have caused Mirko to change his career again, this time to a thief. His first professional endeavour is a jewellery store heist.

The store contains N pieces of jewellery, and each piece has some mass M_i and value V_i. Mirko has K bags to store his loot, and each bag can hold some maximum mass C_i. He plans to store all his loot in these bags, but at most one jewellery piece in each bag, in order to reduce the likelihood of damage during the escape.

Find the maximum total jewellery value that Mirko can "liberate".

Input

The first line of input contains two numbers, N and K (1 \le N, K \le 300\,000).

Each of the following N lines contains a pair of numbers, M_i and V_i (1 \le M_i, V_i \le 1\,000\,000).

Each of the following K lines contains a number, C_i (1 \le C_i \le 100\,000\,000).

All numbers in the input are positive integers.

Output

The first and only line of output must contain the maximum possible total jewellery value.

Scoring

In test data worth at least 50% of total points, N and K will be less than 5000.

Sample Input 1

2 1
5 10
100 100
11

Sample Output 1

10

Sample Input 2

3 2
1 65
5 23
2 99
10
2

Sample Output 2

164

Explanation

Mirko stores the first piece of jewellery into the second bag and the third piece into the first bag.


Comments

There are no comments at the moment.