Advertisement
a53

hard_ssc

a53
Nov 11th, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.56 KB | None | 0 0
  1. #include <iostream>
  2. #define N 100001
  3. using namespace std;
  4. int d[N],k; /// d[i]=capatul celui de-al i-lea subsir
  5.  
  6. void CautBin(int x)
  7. {
  8. if(x<=d[k])
  9. {
  10. d[++k]=x;
  11. return ;
  12. }
  13. int st,dr,p,mid;
  14. p=st=1;dr=k;
  15. while(st<=dr)
  16. {
  17. mid=(st+dr)/2;
  18. if(d[mid]<x)
  19. p=mid,dr=mid-1;
  20. else
  21. st=mid+1;
  22. }
  23. d[p]=x;
  24. }
  25.  
  26. int main()
  27. {
  28. int n,x;
  29. cin>>n>>x;
  30. d[1]=x;
  31. k=1;
  32. for(int i=2;i<=n;++i)
  33. cin>>x,CautBin(x);
  34. cout<<k<<'\n';
  35. return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement