#include <iostream>
using namespace std;
int main() {
const auto lim = numeric_limits<int>::max();
size_t n;
cin >> n;
puts(""
auto min = lim;
int x;
while {
cin >> x;
if ((~x & 1) && x < min) min = x;
--n;
}
puts(""
if (min != lim) cout << min << '\n';
else puts("Not found!"
}
У тебя при вводе s идёт метод if, но нет else. Ты вводишь (и тем самым присваиваешь) к s новое значение и,даже если в конструкции if оно не делится на цело, ты все равно присваиваешь к min значение s. Добавь сравнение s с min после if
В вашей программе нет проверки очередного найденного числа на минимальность. Добавьте его.
Да и нет смысла хранить число циклов N, поэтому счетчик можно организовать прямо на нем, не вводя переменную i.
while (N) {
cin >> s;
if (s % 2 == 0) {
min = s<min?s:min; // если s<min то min = s иначе min без изменения
}
N--;
}