題意:給一個序列,輸出序列裏沒有出現的最小的正數。
思路:N小於100000,所以排序以後,輸出第一個銜接不上的正數,屁股後面那個數就好了。
Code:
#include<bits/stdc++.h>
using namespace std;
#define inf 100009
#define INF 0x3f3f3f3f
#define loop(x,y,z) for(x=y;x<z;x++)
int e[inf];
int main()
{
int i,j,n;
scanf("%d",&n);
loop(i,0,n)scanf("%d",&e[i]);
sort(e,e+n);
int ans=1;
loop(i,0,n)
if(e[i]>ans&&e[i]>ans+1)break;
else if(e[i]==ans)ans++;
printf("%d\n",ans);
return 0;
}