#P3481. 「USACO 2021.2 Platinum」No Time to Dry

「USACO 2021.2 Platinum」No Time to Dry

Description

Bessie has recently received a painting set, and she wants to paint the long fence at one end of her pasture. The fence consists of NN consecutive 1-meter segments (1N21051\le N\le 2\cdot 10^5). Bessie has NN different colors available, which she labels with the letters 11 through NN in increasing order of darkness (11 is a very light color, and NN is very dark). She can therefore describe the desired color she wants to paint each fence segment as an array of NN integers.

Initially, all fence segments are uncolored. Bessie can color any contiguous range of segments with a single color in a single brush stroke as long as she never paints a lighter color over a darker color (she can only paint darker colors over lighter colors).

For example, an initially uncolored segment of length four can be colored as follows:

0000 -> 1110 -> 1122 -> 1332

Unfortunately, Bessie doesn't have time to waste watching paint dry. Thus, Bessie thinks she may need to leave some fence segments unpainted! Currently, she is considering QQ candidate ranges (1Q21051\le Q\le 2\cdot 10^5), each described by two integers (a,b)(a,b) with 1abN1 \leq a \leq b \leq N giving the indices of endpoints of the range aba \ldots b of segments to be painted.

For each candidate range, what is the minimum number of strokes needed to paint every fence segment inside the range with its desired color while leaving all fence segments outside the range uncolored? Note that Bessie does not actually do any painting during this process, so the answers for each candidate range are independent.

Input Format

The first line contains NN and QQ.

The next line contains an array of NN integers representing the desired color for each fence segment.

The next QQ lines each contain two space-separated integers aa and bb representing a candidate range to possibly paint.

Output Format

For each of the QQ candidates, output the answer on a new line.

8 4
1 2 2 1 1 2 3 2
4 6
3 6
1 6
5 8
2
3
3
3

Scoring

  • Test cases 121\sim 2 satisfy N,Q100N,Q\le 100.
  • Test cases 353\sim 5 satisfy N,Q5000N,Q\le 5000.
  • In test cases 6106\sim 10, the input array contains no integer greater than 1010.
  • Test cases 112011\sim 20 satisfy no additional constraints.