我之前不小心写错了,然后后面检查时才发现写错了,但是那时候我提交过一次,发现这样子写也可以ac。
for(i=1;i<=n;i++)
{
ll x, y, z;
cin>>x>>y>>z;
d[x] += z;
d[y + 1] -= z;
}
完整代码是这样子的
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string.h>
#include<map>
#include<queue>
#include<vector>
#include<set>
using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
const ll mm = 5e6+ 60;
ll n, p, a[mm],d[mm],mina;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> p;
ll i;
for (i = 1; i <= n; i++)
{
cin >> a[i];
d[i] = a[i] - a[i - 1];
}
for(i=1;i<=n;i++)
{
ll x, y, z;
cin>>x>>y>>z;
d[x] += z;
d[y + 1] -= z;
}
mina = d[1];
for (int i = 1; i <= n; i++)
{
a[i] = a[i - 1] + d[i];
mina = min(a[i], mina);
}
cout << mina;
return 0;
}