数据生成器
#include<bits/stdc++.h>
using namespace std;
int n,m,a[200005],l[200005],r[200005];
int Myrand(){
long long R=0;
for(int i=1;i<=100;i++)R+=rand()*i,R%=2000000000;
if(R==0)R++;
return R;
}
int main(){
freopen("hack.in","w",stdout);
n=m=2e5;
srand(19260817);
printf("%d\n",n);
for(int i=1;i<=n;i++)a[i]=(Myrand()%100)+1,printf("%d ",a[i]);
printf("%d\n",m);
for(int i=1;i<=m;i++){
l[i]=(Myrand()%n)+1;
r[i]=min(n,l[i]+(Myrand()%50));
printf("%d %d\n",l[i],r[i]);
}
}
可以卡掉每次块内查询滥用memset的情况