Snow Boots
It's winter on the farm, and that means snow! There are n tiles on the path from the farmhouse to the barn, conveniently numbered 1...n, and tile i is covered in f[i]
feet of snow.
Farmer John starts off on tile 1 and must reach tile n to wake up the cows. Tile 1 is sheltered by the farmhouse roof, and tile n is sheltered by the barn roof, so neither of these tiles has any snow. But to step on the other tiles, Farmer John needs to wear boots!
In his foul-weather backpack, Farmer John has b pairs of boots, numbered 1..b. Some pairs are more heavy-duty than others, and some pairs are more agile than others. In particular, pair i lets FJ step in snow at most s[i]
feet deep, and lets FJ move at most d[i]
forward in each step.
Unfortunately, the boots are packed in such a way that Farmer John can only access the topmost pair at any given time. So at any time, Farmer John can either put on the topmost pair of boots (discarding his old pair) or discard the topmost pair of boots (making a new pair of boots accessible).
Farmer John can only change boots while standing on a tile. If that tile has f feet of snow, both the boots he takes off AND the boots he puts on must be able to withstand at least f feet of snow. Intermediate pairs of boots which he discards without wearing do not need to satisfy this restriction.
Help Farmer John minimize waste, by determining the minimum number of pairs of boots he needs to discard in order to reach the barn. You may assume that Farmer John is initially not wearing any boots.
Input
The first line contains two space-separated integers n and b (2 ≤ n, b ≤ 250).The second line contains n space-separated integers. The i-th integer is f[i]
, giving the depth of snow on tile i (0 ≤ f[i]
≤ 10^9
). It's guaranteed that f[1]
= f[n]
= 0.
The next b lines contain two space-separated integers each. The first integer on line i + 2 is s[i]
, the maximum depth of snow in which pair i can step. The second integer on line i + 2 is d[i]
, the maximum step size for pair i. It's guaranteed that 0 ≤ s[i]
≤ 10^9
and 1 ≤ d[i]
≤ n − 1.
The boots are described in top-to-bottom order, so pair 1 is the topmost pair in FJ's backpack, and so forth.
Output
The output should consist of a single integer, giving the minimum number of boots Farmer John needs to discard. It's guaranteed that it will be possible for FJ to make it to the barn.