Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>using namespace std;const long long N=222222;int sum[N<<2];int lazy[N<<2],alazy[N<<2];void pushUp(int rt){sum[rt]=sum[rt<<1]+sum[rt<<1|1];}void pushDown(int rt,int m){if(lazy[rt]){lazy[rt<<1]=lazy[rt<<1|1]=lazy[rt];sum[rt<<1]=lazy[rt]*(m-(m>>1));sum[rt<<1|1]=lazy[rt]*(m>>1);alazy[rt<<1]=0;alazy[rt<<1|1]=0;lazy[rt]=0;}if(alazy[rt]){alazy[rt<<1]+=alazy[rt];alazy[rt<<1|1]+=alazy[rt];sum[rt<<1]+=alazy[rt]*(m-(m>>1));sum[rt<<1|1]+=alazy[rt]*(m>>1);alazy[rt]=0;}}void build(int l,int r,int rt){lazy[rt]=0;