4336: Minimum Array

时间限制:7000 ms 内存限制:256 MB
上传者:
提交:5 通过:3

题目描述

给一个长度为n的数组a,有q次操作:

  1. 选择一个区间[L,R]和数字x
  2. 把数组a区间[L,R]的值加上x,也就是 ai:=ai+x for all L≤i≤R

设bj是在应用前j个运算(0≤j≤q)后获得的数组a。请注意,b0是应用操作之前的数组a。

请在所有数组bj中找到字典序最小的数组

字典序小的定义:如果存在索引i,xi<yi,且所有j<i的.并且xj=yj,则数组x在字典上小于数组y。换句话说,对于数组不同的第一个索引i,xi<yi

输入格式

第一行一个整数 n (1≤n≤5⋅105
第二行n个整数 a1,a2,…,an (−109≤ai≤109
第三行一个整数 q (0≤q≤5⋅105)
后面q行,每行3个整数 ljrj, xj(1≤lj≤rj≤n,−109≤xj≤109)

输出格式

输出所有数组bj中按字典顺序排列的最小数组

输入样例 复制

5
2 1 2 5 4
3
2 4 3
2 5 -2
1 3 1

输出样例 复制

2 1 2 5 4 

数据范围与提示