Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MaxA=1e5+7;struct SegmentTree{int c[MaxA<<2];int delay[MaxA<<2];#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1void pushUp(int rt){c[rt]=c[rt<<1]+c[rt<<1|1];}void pushDown(int rt,int len){if(delay[rt]){delay[rt<<1]=delay[rt<<1|1]=delay[rt];c[rt<<1]=delay[rt]*(len-(len>>1));c[rt<<1|1]=delay[rt]*(len>>1);delay[rt]=0;}}