Question
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
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 (1N1051N105). Bessie has 26 different colors available, which she labels with the letters 'A' through 'Z' in increasing order of darkness ('A' is a very light color, and 'Z' is very dark). She can therefore describe the desired color she wants to paint each fence segment as a length-NN string where each character is a letter.
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:
.... -> BBB. -> BBLL -> BQQL
Running short on time, Bessie thinks she may need to leave some consecutive range of fence segments unpainted! Currently, she is considering QQ candidate ranges (1Q105), each described by by two integers (a,b) with 1abN giving the indices of endpoints of the range ab of segments to be left unpainted.
For each candidate range, what is the minimum number of strokes needed to paint every fence segment outside those in the range with its desired color while leaving all fence segments inside 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 (input arrives from the terminal / stdin):
The first line contains NN and QQ.
The next line contains a string of length NN characters 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 leave unpainted.
OUTPUT FORMAT (print output to the terminal / stdout):
For each of the QQ candidates, output the answer on a new line.
SAMPLE INPUT:
8 2 ABBAABCB 3 6 1 4
SAMPLE OUTPUT:
4 3
In this example, excluding the sub-range corresponding to the desired pattern BAAB requires four strokes to paint while excluding ABBA requires only three.
.... -> AA.. -> ABBB -> ABCB
SCORING:
- Test cases 1-4 satisfy N,Q100.
- Test cases 5-7 satisfy N,Q5000.
- Test cases 8-13 satisfy no additional constraints.
I need this in Python please.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started