哪里的问题呀?差分不是这样做的吗?
- #include
#include
#include
using namespace std;
int mian()
{
int N,Q;
scanf("%d %d",&N,&Q);
int a[]={0};
int i=1;
while(i<=N)
{
}a[0]=0; a[N+1]=0; scanf("%d",&a[i]); i++;
int b[]={0};
int j=1;
while(j<=N)
{
}b[0]=a[0]; b[N+1]=a[N+1]; b[j]=a[j]-a[j-1]; j++;
int l,r,x;
for(i=1;i<=Q;i++)
{
}scanf("%d %d %d",&l,&r,&x); b[l-1]=b[l-1]+x; b[r+1]=b[r+1]+x;
for(i=1;i<=N;i++)
{
}a[i]=b[i]+a[i-1]; printf("%d",&a[i]);
return 0;
}