Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <set>
- #include <vector>
- #include <stdlib.h>
- #include <algorithm>
- using namespace std;
- vector <int> lis(int* arr, int length)
- {
- vector <int> result_of;
- int numberope = 0;
- result_of.push_back(arr[0]);
- int score = 0;
- for (int i = 1; i < length - 1; i++)
- {
- if (numberope>arr[i])
- {
- score = arr[i];
- numberope = 0;
- }
- if (((arr[i] > arr[i - 1]) && (arr[i] > arr[i + 1])) || ((arr[i] < arr[i - 1]) && (arr[i] < arr[i + 1])))
- {
- numberope++;
- result_of.push_back(arr[i]);
- }
- else
- {
- arr[i] = arr[i - 1];
- }
- }
- if (arr[length - 1] != arr[0])
- {
- result_of.push_back(arr[length - 1]);
- numberope = score;
- }
- return result_of;
- }
- int main()
- {
- int len;
- int* array = nullptr;
- vector<int> res;
- ifstream fin;
- fin.open("input.txt");
- if (fin.is_open())
- {
- fin >> len;
- array = new int[len];
- for (int i = 0; i < len; i++)
- fin >> array[i];
- }
- fin.close();
- res = lis(array, len);
- fstream fout;
- fout.open("output.txt", ios::out);
- for (int i = 0; i < res.size(); i++)
- fout << res[i] << " ";
- fout.close();
- delete[] array;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement