差分解法(适合GESP4级)
2025-08-25 18:21:32
发布于:浙江
0阅读
0回复
0点赞
代码如下:
#include <iostream>
using namespace std;
const int N = 5000010;
int main() {
int n, p;
cin >> n >> p;
int a[N];
for (int i = 1; i <= n; ++i) {
cin >> a[i];
}
int d[N] = {0};
while (p--) {
int x, y, z;
cin >> x >> y >> z;
d[x] += z;
if (y + 1 <= n) d[y + 1] -= z;
}
int min = 300;
for (int i = 1; i <= n; ++i) {
d[i] += d[i - 1];
int now = a[i] + d[i];
if (now < min) min = now;
}
cout << min << endl;
return 0;
}
这里空空如也
有帮助,赞一个