SP14891 GOODE - Good Debugging

题目描述

每个优秀的程序员都知道,写程序只是成功的一半,而 The Team 的每一个成员都无疑是出色的程序员。也许你还不是那么优秀,正在疑惑另一半是什么。没错,是调试! The Team 写了一个有 $N$ 行代码的程序(方便起见,行号为 $1$ 到 $N$ 的自然数),初始时每行都有一个错误。他们用的编程语言按顺序逐行执行代码,一旦累积遇到 $L$ 行有问题的代码,就会崩溃。 The Team 一共计划进行 $M$ 次调试尝试。在第 $i$ 次调试中,将会修改从第 $a_i$ 行到第 $b_i$ 行之间的所有代码。这些编码高手很厉害,每次他们修改一行有错误的代码,该行就会立刻变得完美无瑕!然而,如果他们不小心修改了一行已完美的代码,该行反而会被引入一个新错误。每次调试后,The Team 会重新运行程序,观察程序在再次崩溃之前成功运行了多少行代码。有时候,程序甚至可能顺利结束!修改后的代码会保留下来用于后续的调试。 现在,The Team 很想知道,他们的程序在这段调试旅程中表现如何。你能否帮助他们找出答案?

输入格式

第一行:3 个整数 $N$、$M$ 和 $L$ 接下来 $M$ 行:每行两个整数 $a_i$ 和 $b_i$,表示第 $i$ 次调试要修改的代码行范围

输出格式

输出 $M$ 行:每行输出一个整数,表示经过前 $i$ 次调试后,程序在崩溃前成功执行的代码行数;如果程序不再崩溃,则输出字符串 `AC?`。 **本翻译由 AI 自动生成**