恳请大佬帮看看,我的代码,我的思路是:d数组是a数组的差分数组,通过对d数组操作后,最后对d数组求前缀和,最后判断d数组元素小于0就说明教室不够,就输出。想请大佬帮看看代码,我不知道哪有问题,感谢大佬!```
#include
using namespace std;
const int N = 1e6 + 10;
#define int long long
int a[N];
int d[N];
signed main()
{
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++)
cin >> a[i], d[i] = a[i] - a[i - 1];
while (m--)
{
int x, s, t;
cin >> x >> s >> t;
d[s] -= x;
d[t + 1] += x;
}
for (int i = 1; i <= n; i++)
{
d[i] = d[i - 1] + d[i];
if (d[i] > 0)
{
cout << "-1" << endl << i;
return 0;
}
}
cout << "0" << endl;
return 0;
}