Проблема с задачей

Вася написал на доске n натуральных чисел a[i] и ушел. Пришел Петя и, увидев Васину последовательность, решил ее немного изменить. Для этого он решил, что может стирать с доски лишь те числа, оба соседа которых строго больше. Более формально, Петя мог стереть i-ое число, если a[i - 1] > a[i] и a[i + 1] > a[i]

Вот мой код:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
int n;
cin >> n;
vector<int>a(n);
vector<int>b;

for (int i = 0; i < n; i++)
{
    cin >> a[i];
}

for (int i = 0; i < n - 1; i++)
{
    if (a[i] < a[i - 1] && a[i] < a[i + 1]){}
    else b.push_back(a[i]);
}

cout << b.size() << endl;

for (auto c : b)
    cout << c << ' ';
}

Входные данные:

12
1 2 3 2 4 1 3 4 2 3 2 1

Выходные данные:

8
1 2 3 4 4 3 2 1 

А у меня выводит:

8  
1 2 3 4 3 4 3 2

В чем проблема?


Ответы (0 шт):