AT_abc467_g [ABC467G] Many Sweets Problem
题目描述
有一个长度为 $N$ 的正整数序列 $A=(A_1,A_2,\dots,A_N)$。请你处理以下操作 $Q$ 次。
- `c x l r k` :将 $A_c$ 的值更新为 $x$。然后,解决如下子问题并输出答案。
> 有 $r-l+1$ 颗糖果。第 $i$ 颗糖果的美味度为 $A_{l+i-1}$。
> 你决定吃若干糖果,直到所吃的糖果美味度总和达到 $k$ 或以上为止。
> 如果你可以任意选择吃哪些糖果,最少需要吃多少颗糖果才能让美味度总和达到 $k$?请输出答案。
> 如果无论如何选择都不能让糖果美味度总和达到 $k$,则输出 $-1$。
输入格式
输入按以下格式由标准输入给出:
> $N$ $Q$ $A_1$ $A_2$ $\dots$ $A_N$ $\mathrm{query}_1$ $\mathrm{query}_2$ $\vdots$ $\mathrm{query}_Q$
每个查询 $\mathrm{query}_q$ 格式如下:
> $c$ $x$ $l$ $r$ $k$
输出格式
输出共 $Q$ 行。你需要输出每个查询的答案,第 $q$ 行对应第 $q$ 次查询的答案。
说明/提示
### 样例解释 1
解释第一个查询。
首先,将 $A_1$ 更新为 $1$。此时 $A=(1,2,4,1,7,3,6)$。现在解决子问题。
在子问题中,有四颗糖果,美味度依次为 $1,7,3,6$。
为了让吃过的糖果美味度和最小的数量达到 $k=9$,最优的吃法是吃第 2 和第 4 颗糖果。因此,子问题答案为 $2$。
### 数据范围
- $1 \leq N \leq 10^5$
- $1 \leq Q \leq 10^5$
- $1 \leq A_i \leq 10^9$
- $1 \leq c \leq N$
- $1 \leq x \leq 10^9$
- $1 \leq l \leq r \leq N$
- $1 \leq k \leq 10^{15}$
- 输入中的所有值均为整数。
由 ChatGPT 5 翻译