Проблема с задачей
Вася написал на доске 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
В чем проблема?