差分_java


import java.util.*;

public class Main{
    private static int N=100010;
    private static int[] res=new int[N];
    private static int[] temp=new int[N];
    
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        int m=in.nextInt();
        for(int i=1;i<=n;i++){
            res[i]=in.nextInt();
            insert(i,i,res[i]);
        }
        while(m-->0){
            int l=in.nextInt(), r=in.nextInt(), c=in.nextInt();
            insert(l,r,c);
        }
        for(int i=1;i<=n;i++){
            temp[i]+=temp[i-1];
            System.out.printf("%d ",temp[i]);
        }
    }
    
    public static void insert(int l,int r,int c){
        temp[l]+=c;
        temp[r+1]-=c;
    }
}