Advertisement
Weezle

Untitled

Jul 11th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <set>
  5. #include <vector>
  6. #include <stdlib.h>
  7. #include <algorithm>
  8.  
  9. using namespace std;
  10.  
  11. vector <int> lis(int* arr, int length)
  12. {
  13. vector <int> result_of;
  14. int numberope = 0;
  15. result_of.push_back(arr[0]);
  16. int score = 0;
  17. for (int i = 1; i < length - 1; i++)
  18. {
  19. if (numberope>arr[i])
  20. {
  21. score = arr[i];
  22. numberope = 0;
  23. }
  24. if (((arr[i] > arr[i - 1]) && (arr[i] > arr[i + 1])) || ((arr[i] < arr[i - 1]) && (arr[i] < arr[i + 1])))
  25. {
  26. numberope++;
  27. result_of.push_back(arr[i]);
  28. }
  29. else
  30. {
  31. arr[i] = arr[i - 1];
  32. }
  33. }
  34.  
  35. if (arr[length - 1] != arr[0])
  36. {
  37. result_of.push_back(arr[length - 1]);
  38. numberope = score;
  39. }
  40. return result_of;
  41. }
  42.  
  43.  
  44. int main()
  45. {
  46. int len;
  47. int* array = nullptr;
  48. vector<int> res;
  49.  
  50. ifstream fin;
  51. fin.open("input.txt");
  52. if (fin.is_open())
  53. {
  54. fin >> len;
  55. array = new int[len];
  56. for (int i = 0; i < len; i++)
  57. fin >> array[i];
  58. }
  59. fin.close();
  60.  
  61. res = lis(array, len);
  62.  
  63. fstream fout;
  64. fout.open("output.txt", ios::out);
  65.  
  66. for (int i = 0; i < res.size(); i++)
  67. fout << res[i] << " ";
  68. fout.close();
  69.  
  70. delete[] array;
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement