Загрузка данных


Код:

#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.