COCI '17 Contest 1 #5 Deda

View as PDF

Submit solution

Points: 15
Time limit: 0.75s
Memory limit: 64M

Problem type

Little Marica is making up a nonsensical unusual fairy tale and is telling it 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 station 0 and stops in order at stations 1, 2, 3, \dots 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 fewer 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 at 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.

Input Specification

The first line of input contains the positive integers N and Q (2 \le N, Q \le 200\,000), the number of children and the number of statements. Each of the following Q lines describes:

  • either Marica's statement of the form M X A, where M denotes Marica, and X and A are positive integers (1 \le X \le 1\,000\,000\,000, 1 \le A \le N) from the task,
  • or her grandfather's question of the form D Y B, where D denotes the grandfather, and Y and B are positive integers (1 \le Y \le 1\,000\,000\,000, 1 \le B \le N) from the task.

All of Marica's statements correspond to different children and at least one line in the input is her grandfather's question.

Output Specification

For each grandfather's question, output the number of the required child in its own line. If no such child exists, output -1.

Sample Input 1

3 4
M 10 3
M 5 1
D 20 2
D 5 1

Sample Output 1


Sample Input 2

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

Sample Output 2



  • 10
    Rimuru  commented on Feb. 28, 2019, 5:57 p.m.

    The time limit for this problem has been raised by 0.5 seconds due to the official solution not passing, although the problem statement states the time limit for this problem is 1 second.

    • 6
      Plasmatic  commented on March 1, 2019, 9:51 p.m.

      dmoj judges too slow :^(