#include<cstdio>
using namespace std;
struct data{
int l,r,tag;
long long sum;
}tr[600000];
int n,q,a[200001];
void build(int k,int l,int r)
{
tr[k].l=l,tr[k].r=r;
if(l==r){tr[k].sum=a[l];return;}
int mid=(l+r)>>1;
build(k<<1,l,mid);build(k<<1|1,mid+1,r);
tr[k].sum=tr[k<<1].sum+tr[k<<1|1].sum;
}
void pushdown(int k)
{
int x=tr[k].r-tr[k].l+1;
int tag=tr[k].tag;tr[k].tag=0;
if(x==1||!tag)return;
tr[k<<1].tag+=tag;
tr[k<<1].s......
阅读全文