egogoboy

последовательность - 2

Jun 30th, 2022
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>;
  4. using namespace std;
  5.  
  6. int main() {
  7.  
  8.     std::ifstream fin("input.txt");
  9.     std::ofstream fout("output.txt");
  10.  
  11.     int n;
  12.     fin >> n;
  13.     vector<int> mass;
  14.     int temp;
  15.     for (int i = 0; i < n; i++) {
  16.         fin >> temp;
  17.         mass.push_back(temp);
  18.     }
  19.     mass.push_back(-1000001);
  20.  
  21.     int left = 0, right = 1, answ = 0;
  22.  
  23.     for (int i = 1; i < mass.size() - 2; i++) {
  24.  
  25.         if (mass[i - 1] > mass[left]) {
  26.             left = i - 1;
  27.         }
  28.  
  29.         if (right <= i) {
  30.             int right_data = -1000001;
  31.             for (int j = i + 1; j < mass.size(); j++) {
  32.                 if (right_data <= mass[j] || (mass[j] == -1000001 && right == i)) {
  33.                     right = j;
  34.                     right_data = mass[right];
  35.                 }
  36.             }
  37.         }
  38.  
  39.         if (mass[left] > mass[i] && mass[right] > mass[i]) {
  40.             mass[i] = -1000001;
  41.             answ++;
  42.         }
  43.  
  44.     }
  45.  
  46.     fout << n - answ << endl;
  47.  
  48.     for (int i = 0; i < mass.size(); i++) {
  49.         if (mass[i] != -1000001) {
  50.             fout << mass[i] << " ";
  51.         }
  52.     }
  53.  
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment