|시간 제한||메모리 제한||제출||정답||맞은 사람||정답 비율|
|1 초||64 MB||24||16||13||76.471%|
Little Marica is making up a
nonsensical unusual fairy tale and is telling to her grandfather who keeps interrupting her and asking her stupid intriguing questions.
In Marica’s fairy tale, N children, denoted with numbers from 1 to N by their age (from the youngest denoted with 1, to the oldest denoted with N), embarked on a train ride. The train leaves from the station 0 and stops in order at stations 1, 2, 3 … to infinity.
Each of the following Marica’s statements is of the form: “At stop X, child A got out”, where the order of these statements is completely arbitrary. In other words, it does not depend on the station order. Her grandfather sometimes asks a question of the form: “Based on the statements so far, of the children denoted with a number greater than or equal to B, who is the youngest child that rode for Y or less stops?” If at the moment the grandfather asks the question it hasn’t been said so far that a child is getting off the train, we assume that the child is riding for an infinite amount of stops.
Marica must give a correct answer to each of her grandfather’s questions, otherwise the grandfather will get mad and go to sleep. The answer must be correct in the moment when the grandfather asks the question, while it can change later given Marica’s new statements, but that doesn’t matter. Write a program that tracks Marica’s statements and answers her grandfather’s questions.
The first line of input contains the positive integers N and Q (2 ≤ N, Q ≤ 200 000), the number of children and the number of statements. Each of the following Q lines describes:
All of Marica’s statements correspond to different children and at least one line in the input is her grandfather’s question.
For each grandfather’s question, output the number of the required child in its own line. If no such child exists, output -1.
3 4 M 10 3 M 5 1 D 20 2 D 5 1
10 10 M 20 10 D 1 9 M 2 3 D 17 10 M 20 2 D 8 2 M 40 1 D 25 2 M 33 9 D 37 9
-1 -1 3 2 9