CF535C Tavas and Karafs

题目描述

有无限个食品排成一排,其中第 $i$ 个食品的体积 $s_i$ 为 $A + ( i - 1 ) \times B$。每一次,你最多可以同时吃 $M$ 个食品,并使这 $M$ 个食品的体积都减少 $1$,体积为 $0$ 表示该食品被吃掉。 现在有 $n$ 个询问,每个询问包含三个整数 $L$,$T$,$M$,表示从第 $L$ 个食品开始往右边吃,每次最多吃 $M$ 个食品( 可以是不连续的 $M$ 个),最多吃 $T$ 次,求一个最大的 $R \ ( L \le R )$,使得第 $L$ 个到第 $R$ 个食品都被吃掉(必须是连续的)。

输入格式

第一行,三个整数,$A$, $B$, $n \ ( 1 \le A,B \le 10^6, 1 \le n \le 10 ^ 5 )$ 接下来 $n$ 行,每行表示一个询问,包含三个整数 $L$, $T$, $M \ ( 1 \le L, T, M \le 10 ^ 6 )$

输出格式

输出共 $n$ 行,每行一个整数,依次表示每个询问的 $R$ ,无解则输出 `−1` 。 翻译由 @炼金法爷biu 提供