Advertisement
Guest User

Untitled

a guest
Nov 26th, 2015
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include <cmath>
  2. #include <iostream>
  3. #include <map>
  4. #include <fstream>
  5. #include <vector>
  6. #include <algorithm>
  7.  
  8. using namespace std;
  9.  
  10. typedef long long ll;
  11.  
  12. const int INF = 1000000000;
  13.  
  14. int main()
  15. {
  16. freopen("input.txt","r",stdin);
  17. freopen("output.txt","w",stdout);
  18. ll k, n;
  19. cin >> n;
  20. vector <int> d(n+2);
  21. int p[100010], a[100010];
  22. for (int i = 0; i < n; i++)
  23. {
  24. cin >> a[i];
  25. }
  26. d[0] = -INF;
  27. for (int i=1; i<=n; ++i)
  28. d[i] = INF;
  29.  
  30. for (int i=0; i<n; i++)
  31. {
  32. int j = int (upper_bound (d.begin(), d.end(), a[i]) - d.begin());
  33. if (d[j-1] < a[i] && a[i] < d[j])
  34. {
  35. d[j] = a[i];
  36. p[j] = i;
  37. }
  38.  
  39. }
  40. for (int i=0; i<=n; i++)
  41. cout << d[i] << endl;
  42. return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement