C++ Помогите с задачачей с платформы Сириус
Статистика
Вася не любит английский язык, но каждый раз старается получить хотя бы четвёрку за четверть, чтобы оставаться ударником. В текущей четверти Вася заметил следующую закономерность: по нечётным дням месяца он получал тройки, а по чётным — четвёрки. Также он помнит, в какие дни он получал эти оценки. Поэтому он выписал на бумажку все эти дни для того, чтобы оценить, сколько у него троек и сколько четвёрок. Помогите Васе это сделать, расположив чётные и нечётные числа в разных строчках. Вася может рассчитывать на оценку 4 , если четвёрок не меньше, чем троек.
Входные данные
В первой строке записано единственное число N — количество элементов целочисленного массива (1⩽N⩽100 ). Вторая строка содержит N чисел, представляющих заданный массив. Каждый элемент массива — натуральное число от 1 до 31 . Все элементы массива разделены пробелами.
Выходные данные
В первой строке выходных данных нужно вывести числа, соответствующие числам месяца, в которые Вася получил тройки, а во второй строке, соответственно, расположить числа месяца, в которые Вася получил четвёрки. В третьей строке нужно вывести оценку, которую получит Вася.
Вот пример моего кода. Я понимаю, что очень длинный и всё можно было бы записать гораздо короче, но я просто перепробовала уже кучу вариаций и это последняя из них самая длинная. Код работает, но платформа не принимает. Помогите пожалуйста исправить.
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, x, z, i = 0;
cin >> n;
vector <int> v(n);
for (i = 0; i < n; i++) {
cin >> v[i];
}
for (i = 0; i < n; i++) {
if (v[i] % 2 != 0) {
cout << v[i] << " ";
}
}
cout << endl;
for (i = 0; i < n; i++) {
if (v[i] % 2 == 0) {
cout << v[i] << " ";
}
}
cout << endl;
x = 0, z = 0;
for (i = 0; i < n; i++) {
if (v[i] % 2 == 0) {
z = z + 1;
}
else x = x + 1;
}
if (z > x ) {
cout << "4";
}
if (z = x ) {
cout << "4";
}
else
cout << "3";
}