Plantilla diferencial.

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],b[N]={0};
void insert(int l,int r,int c)
{
    b[l]+=c;
    b[r+1]-=c;
}
int main()
{
    int l,r,c,n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {scanf("%d",&a[i]);
    insert(i,i,a[i]);}
    while(m--)
    {
        cin>>l>>r>>c;
        insert(l,r,c);
       
    } 
    for(int i=1;i<=n;i++)
        b[i]+=b[i-1];
        for(int i=1;i<=n;i++)
        printf("%d ",b[i]);
    return 0;
    
}

Supongo que te gusta

Origin blog.csdn.net/m0_74153798/article/details/131790274
Recomendado
Clasificación