编程题
### 问题描述 小蓝有一个长度为 $n$ 的数组,数组的下标从 $1$ 开始。并且给定两个整数 $m,k$,小蓝可以对数组进行 $k$ 次操作,每一次操作给出三个正整数 $l,r,d$,表示将数组下标位于 $[l,r]$ 内的元素的值都加上 $d$。请问最少需要操作多少次可以使得数组内元素的最小值至少为 $m$,请注意小蓝只能按给定的操作顺序进行每一次操作。 如果操作 $k$ 次后数组内元素的最小值仍然小于 $m$,则答案为 $-1$。 ### 输入格式 第一行包含两个正整数 $n,m,k$,其含义如上所述。 第二行包含 $n$ 个正整数 $a_1 \sim a_n$,表示数组中的每一个元素。 接下来 $k$ 行,每一行包含三个正整数 $l,r,d$,其含义如上所述。 ### 输出格式 输出仅包含一个整数,表示答案。 ### 样例输入 ```text 5 3 3 0 0 0 0 0 1 5 1 1 3 2 1 5 2 ``` ### 样例输出 ```text 3 ``` ### 说明 第一次操作后,原数组变为 $[1,1,1,1,1]$,最小值为 $1$,不满足条件,第二次操作后,原数组变为 $[3,3,3,1,1]$,最小值为 $1$,不满足条件,第三次操作后,原数组变为 $[5,5,5,3,3]$,最小值为 $3$,满足条件,所以答案为 $3$。 ### 评测数据规模 对于 $100$% 的评测数据,$1 \leq n,k \leq 10^5$,$1 \leq a_i,d \leq 10^4$,$1 \leq m \leq 2\times10^{9}$,$1 \leq l \leq r \leq n$。
查看答案
赣ICP备20007335号-2