#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<int> a(n + 1);
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int k = 1; k <= m; k++) {
int L, R, h;
cin >> L >> R >> h;
for (int i = L; i <= R; i++) {
a[i] -= h;
if (a[i] <= 0) {
cout << k << endl;
return 0;
}
}
}
return 0;
}
// 64 位输出请用 printf("%lld")
解题思路:
直接遍历 L 到 R,然后减去 h,如果出现小于等于 0 的情况,直接输出当前次数,并且提前结束。



京公网安备 11010502036488号