Код:
#include <iostream>
#include <set>
using namespace std;
int main() {
int n;
cin >> n;
set<int> used;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
if (used.count(x) > 0) {
cout << "YES" << endl;
}
else {
cout << "NO" << endl;
used.insert(x);
}
}
return 0;
}
Что происходит текстом
Начало работы программы.
Вводится число n — количество чисел в последовательности.
Создаётся множество used.
В нём будут храниться числа, которые уже встречались раньше.
Далее программа по очереди считывает каждое число.
Для каждого числа выполняется проверка:
если число уже есть во множестве used, значит оно встречалось раньше, поэтому программа выводит YES.
если числа ещё нет во множестве, значит оно встретилось впервые, поэтому программа выводит NO и добавляет это число во множество.
После обработки всех чисел программа завершает работу.
Пример:
1 2 3 2 3 4
1, 2, 3 встречаются впервые — выводится NO.
Потом 2 и 3 уже были — выводится YES.
4 встречается впервые — выводится NO.