编程题
### 问题描述 肖恩为了奖励算法基础班的同学们,每天都为他们准备了一些糖果。 所有同学们(编号 $1$ 到 $n$ )都有一个自己想吃糖果的时间段,以及自己想吃糖果的数量。请你帮肖恩计算一下,他准备的糖果是否能满足所有同学吃糖果的需求?如果不能满足所有同学的需求,请告诉肖恩第一个不能满足需求的同学是第几个同学。 注意在计算的时候所有同学的需求只需要按顺序记录,当第一次出现某一天糖果不够给某一个同学,这个同学就是第一个不能满足需求的同学。 ### 输入描述 第一行输入两个数字 $n$ 和 $m$ ,表示一共有 $n$ 天准备了糖果, $m$ 个同学要来吃糖果。 第二行输入 $n$ 个整数,第 $i$ 个数字 $a_i$ 表示肖恩第 $i$ 天准备的糖果数量。 接下来输入 $m$ 行,第 $i$ 行包括三个数字: $cnt_i,start_i,end_i$ ,分别表示第 $i$ 个同学想吃的糖果数量,想吃糖果的时间段是从第 $start_i$ 天到第 $end_i$ 天。 数据保证 $1 \leq n \leq 10^6,1 \leq m \leq 10^6,1 \leq a_i \leq 10^9,1 \leq cnt_i \leq 10^9,1 \leq start_i \leq n,1 \leq end_i \leq n$ 。 ### 输出描述 如果能满足所有同学的需求,输出一个" $Yes$ " (引号不需要输出),如果不能满足所有同学的需求,输出一个" $No$ ",并在下一行输出一个数字表示第一个不能满足需求的同学的编号。 ### 样例输入 ``` 5 3 5 5 5 5 5 2 1 3 1 1 3 1 4 5 ``` ### 样例输出 ``` Yes ``` ### 说明 第一个同学按需求记录以后,剩余糖果数量分别是: $3,3,3,5,5$ 。 第二个同学按需求记录以后,剩余糖果数量分别是: $2,2,2,5,5$ 。 第三个同学按需求记录以后,剩余糖果数量分别是: $2,2,2,4,4$ 。 可以看到肖恩准备的糖果可以满足所有同学的需求,所以输出 Yes 。
查看答案
赣ICP备20007335号-2