Problem C
Kattis's Quest
Kattis the Cat enjoys clearing quests on her mobile game. Each quest has an energy consumption $E$, and gold reward $G$. However, as Kattis has become very busy lately with grading her student’s problem sets, she does not have much spare time as before to keep clearing quests. As such, she has adopted a new ‘greedy’ strategy to clear her quests in each session as quickly as possible. With energy $X$ for a session, she will do the following:
-
Find the largest energy quest from the current pool of quest which is smaller or equal to $X$, if tied, by the largest gold reward,
-
Clear the quest, removing it from current pool. Reduce energy $X$ by $E$ of the quest, and add up the gold reward $G$ earned this session.
-
Repeat steps $1$ and $2$ with remaining amount of energy, until energy left becomes $0$, or if there are no more quests to be cleared with remaining energy.
However, she is not sure if this strategy is optimal, and wants your help in determining how much she has earned in each playing session. Kattis the Cat will give a list of $2$ commands:
-
add E G: add a copy of the quest with energy consumption $E$ and gold reward $G$ into the pool,
-
query X: using the ‘greedy’ quest clearing strategy described above, print out the total amount of gold Kattis the Cat earned in this session with energy $X$.
Input
The first line contains an integer $N$ ($1 \le N \le 2\cdot 10^5$) denoting the number of commands. Each of the next $N$ lines contains a string S, denoting one of the above commands. For the add command, two integers will follow, $E$ and $G$ ($1 \le E, G \le 10^5$), denoting the energy consumption and gold reward of the quest respectively. For the query command, one integer will follow, $X$ ($1 \le X \le 10^5$), denoting the amount of energy Kattis the Cat has for this session.
Output
For each query X command, print the amount of gold Kattis the Cat earned for that session in a new line.
Sample Input 1 | Sample Output 1 |
---|---|
9 add 8 10 add 3 25 add 5 6 query 7 query 7 add 1 9 add 2 13 query 20 query 1 |
6 25 32 0 |