5分,求助大佬!
查看原帖
5分,求助大佬!
1103836
zhang03楼主2024/1/25 11:18

恳请大佬帮看看,我的代码,我的思路是: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; }

2024/1/25 11:18
加载中...