分块练习 B
哇..偷懒调了一上午。。。结果是傻逼错。。。没救了
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cctype>
#include<iostream>
#include<cmath>
using namespace std;
#define maxn 50010
char _c;bool flag;
inline void read(int& x)
{
flag = false;_c = getchar();x = 0;
while(!isdigit(_c)){if(_c=='-')flag=true;_c=getchar();}
while(isdigit(_c)){x = x*10+_c-'0';_c=getchar();}
if(flag)x = -x;
}
typedef long long LL;
inline void read(LL& x)
{
flag = false;_c = getchar();x = 0;
while(!isdigit(_c)){if(_c=='-')flag=true;_c=getchar();}
while(isdigit(_c)){x = x*10+_c-'0';_c=getchar();}
if(flag)x = -x;
}
int n;
int belong[maxn],L[maxn],R[maxn],num,block;
LL a[maxn],add[maxn],sorted[maxn];
inline void build()
{
block = sqrt(n);
num = n/block;if(n%block)num++;
for