spider68

IMP find first missing number

Jun 4th, 2020
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.72 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.     int i,j,t,n,x;
  6.     cin>>t;
  7.     while(t--)
  8.     {
  9.         cin>>n;
  10.         int a[n];
  11.         for(i=0;i<n;i++)cin>>a[i];
  12.         if(n==0)cout<<1<<endl;
  13.         else{
  14.             int cnt=0;
  15.             for(i=0;i<n;i++)
  16.             {
  17.                 if(a[i]==1)cnt++;
  18.                 if(a[i]<=0||a[i]>n)a[i]=1;
  19.             }
  20.             if(cnt==0)cout<<1<<endl;
  21.             else{
  22.                 for(i=0;i<n;i++)
  23.                 {
  24.                     j=abs(a[i])-1;
  25.                     if(a[j]>0)a[j]=-1*a[j];
  26.                 }
  27.                
  28.                 for(i=0;i<n;i++)
  29.                 {
  30.                     if(a[i]>0)break;
  31.                 }
  32.                
  33.                 cout<<i+1<<endl;
  34.             }
  35.         }
  36.     }
  37.     return 0;
  38. }
Add Comment
Please, Sign In to add comment