CF926F Mobile Communications

题目描述

每天早上,Arkady 的手机账户会被扣除 $p$ 卢布。在接下来的 $m$ 天中,有 $n$ 天 Arkady 会为账户充值:在第 $d_i$ 天,他会向手机账户充值 $t_i$ 卢布。Arkady 总是在每日扣费之前进行充值。在接下来的 $m$ 天内,不会有其他的扣费或充值操作。 请你计算,从第 $1$ 天到第 $m$ 天中,有多少天在每日扣费后账户余额会变为负数(即当天晚上余额为负)。初始时账户余额为 $0$ 卢布。

输入格式

第一行包含三个整数 $n$、$p$ 和 $m$($1 \leq n \leq 100000$,$1 \leq p \leq 10^{9}$,$1 \leq m \leq 10^{9}$,$n \leq m$)——充值的天数、每日扣费金额和需要检查的天数。 接下来的 $n$ 行,每行包含两个整数 $d_i$ 和 $t_i$($1 \leq d_i \leq m$,$1 \leq t_i \leq 10^{9}$)——第 $i$ 次充值发生的天数和充值金额。保证所有 $d_i$ 互不相同且递增,即对于所有 $2 \leq i \leq n$,都有 $d_i > d_{i-1}$。

输出格式

输出从第 $1$ 天到第 $m$ 天中,每日扣费后账户余额为负数的天数。

说明/提示

在第一个样例中,余额变化如下(注意,初始余额为 $0$): 1. 第一天扣除 $6$ 卢布,晚上余额为 $-6$; 2. 第二天先充值 $13$ 卢布,再扣除 $6$ 卢布,晚上余额为 $1$; 3. 第三天扣除 $6$ 卢布,晚上余额为 $-5$; 4. 第四天先充值 $20$ 卢布,再扣除 $6$ 卢布,晚上余额为 $9$; 5. 第五天扣除 $6$ 卢布,晚上余额为 $3$; 6. 第六天扣除 $6$ 卢布,晚上余额为 $-3$; 7. 第七天先充值 $9$ 卢布,再扣除 $6$ 卢布,晚上余额为 $0$。 因此,第 $1$、$3$、$6$ 天结束时余额为负。 由 ChatGPT 4.1 翻译