Advertisement
Guest User

dsadas

a guest
May 24th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.51 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int n,t[500005],a;
  4. int f(int x)
  5. {
  6.     if(t[x]==x)
  7.         return x;
  8.     t[x]=f(t[x]);
  9.     return t[x];
  10. }
  11. void add(int x,int y)
  12. {
  13.     if(f(x)!=f(y))
  14.     {
  15.         t[f(x)]=f(y);
  16.     }
  17. }
  18. void make()
  19. {
  20.     for(int i=1;n+1>=i;i++)
  21.         t[i]=i;
  22. }
  23. int main()
  24. {
  25. scanf("%d",&n);
  26. make();
  27. for(int i=0;n>i;i++)
  28. {
  29.     scanf("%d",&a);
  30.     add(a,a+1);
  31.     if(f(a)==n+1)
  32.        printf("NIE\n");
  33.     else
  34.        printf("%d\n",f(a));
  35. }
  36.     return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement