代码
#include <bits/stdc++.h>
using namespace std;
int a[100005];
int v[1000][100005];
int main(){
int n;
cin >> n;
for(int i=1;i<=n;i++){
cin >> a[i];
}
sort(a+1,a+n+1);
int cur=1;
v[cur][0]++;
v[cur][v[cur][0]] = a[1];
for(int i=2;i<=n;i++){
int minn=2e9,minid=-1;
for(int j=1;j<=cur;j++){
if(v[j][v[j][0]]+1==a[i]){
if(minn > v[j][0]){
minn = v[j][0];
minid = j;
}
}
}
if(minid != -1){
v[minid][++v[minid][0]] = a[i];
}
else {
cur++;
v[cur][0]++;
v[cur][v[cur][0]] = a[i];
}
}
int ans = 2e9;
for(int i=1;i<=cur;i++){
if(ans > v[i][0]){
ans = v[i][0];
}
}
cout << ans;
return 0;
}
为什么会RE呀?
求大佬解疑