#P12024. [USACO25OPEN] It's Mooin' Time III B
[USACO25OPEN] It's Mooin' Time III B
Description
Elsie is trying to describe her favorite USACO contest to Bessie, but Bessie is having trouble understanding why Elsie likes it so much. Elsie says "And It's mooin' time! Who wants a mooin'? Please, I just want to do USACO".
Bessie still doesn't understand, so she transcribes Elsie's description in a string of length () containing lowercase alphabetic characters . Elsie considers a string containing three characters a moo if and .
A triplet is valid if and string forms a moo. For the triplet, FJ performs the following to calculate its value:
- FJ bends string 90-degrees at index
- The value of the triplet is twice the area of .
In other words, the value of the triplet is .
Bessie asks you () queries. In each query, she gives you two integers and (, ) and ask you for the maximum value among valid triplets such that and . If no valid triplet exists, output .
Note that the large size of integers involved in this problem may require the use of 64-bit integer data types (e.g., a "long long" in C/C++).
Input Format
The first line contains two integers and .
The following line contains .
The following lines contain two integers and , denoting each query.
Output Format
Output the answer for each query on a new line.
12 5
abcabbacabac
1 12
2 7
4 8
2 5
3 10
28
6
1
-1
12
Hint
For the first query, () must satisfy . It can be shown that the maximum area of for some valid () is achieved when , , and . Note that is the string "acc" which is a moo according to the definitions above. will have legs of lengths and so two times the area of it will be .
For the third query, () must satisfy . It can be shown that the maximum area of for some valid () is achieved when , , and .
For the fourth query, there exists no () satisfying in which is a moo so the output to that query is .
SCORING:
- Inputs 2-3:
- Inputs 4-6: and the singular query satisfies and
- Inputs 7-11: No additional constraints
京公网安备 11011102002149号