@[qjxqjx](/user/481718)
下面这样是对的:
```
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[3005],vis[3005]={0};
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
vis[a[i]]++;
}
for(int i=1;i<=3001;i++){
if(vis[i]==0){
cout<<i;
return 0;
}
}
return 0;
}
```
你如果压根就没机会输出,自然不会结束程序,循坏到 $3001$ 即可
by MeowScore @ 2021-11-26 23:54:06
@[Liu_Kevin](/user/140360)
没机会输出会结束程序吧?而且n=3000,就不能输出了呀,这题有矛盾吧?
by qjxqjx @ 2021-11-27 00:00:06
@[qjxqjx](/user/481718) 题目说给出的数小于3000,但你找的数可以大于3000
by matrix_ok @ 2021-11-27 00:03:04
@[qjxqjx](/user/481718) ~~你这什么理解能力~~
n=3000 时。由于1<=a<=3000
所以 1-3000都被输入了
所以第一个未出现的是3001
气的我连latex都不想打了
pss
by 二叉苹果树 @ 2021-11-27 00:03:17
@[qjxqjx](/user/481718) 从小到大找第一个没有出现过的整数,如果输入3000和1~3000所有的数,输入没错,输出是3001
by cff_0102 @ 2021-11-27 00:04:12
@[Étoiles_Brillantes](/user/270854)
https://www.luogu.com.cn/problem/list?difficulty=1&page=5
~~最离谱的是我现在才发现入门只有5页~~
by cff_0102 @ 2021-11-27 00:06:24
@[qjxqjx](/user/481718) 灵异什么了?什么理解能力
by 断清秋 @ 2021-11-27 00:21:34