求助,洛谷测试点数据不给下,我数组大小应该也是够得,但RE提示说数组超界
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n,lst[114514]={0},save[233666]={0},ans=114514,sav2=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>lst[i];
}
sort(lst,lst+n);
int now=lst[0],sav=0;
for(int i=0;i<n;i++){
if(lst[i]==now){
save[sav]+=1;
}
else if(lst[i]==now+1){
now+=1;sav+=1;save[sav]+=1;n+=1;
}
else{
sav+=2;now=lst[i];save[sav]+=1;
}
}
now=0;int inn=0;
for(int i=0;i<sav;i++){
if(save[i]!=0){
now+=1;save[i]-=1;
}
else if(save[i]==0){
i++;ans=min(ans,now);now=0;continue;
}
if(save[i]!=0&&inn==0){
sav2=i;
inn=1;
}
if(save[i]>=save[i+1]){
ans=min(ans,now);
if(inn==1){
i=sav2-1;
}else
i++;
now=0;inn=0;
}
}
cout<<ans;
}