Решение задачи КопияКопияКопия с Codeforces

Без пояснения   Просмотров: 37


У Ехаба есть массив a длины n. У него достаточно свободного времени, чтобы создать новый массив, состоящий из n копий старого массива, записанных последовательно. Чему равна длина самой длинной возрастающей подпоследовательности нового массива?

Последовательность a является подпоследовательностью массива b, если a можно получить из b, удалив несколько (возможно, ноль или все) элементов. Самая длинная возрастающая подпоследовательность массива это самая длинная подпоследовательность, все элементы которой упорядочены в строго возрастающем порядке.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int t;
    cin >> t;
    for(int j = 0; j < t; ++j){
        int n, k = 0;
        cin >> n;
        vector<int> a(n);
        for(int i = 0 ; i < n; ++i){
            cin >> a[i];
        }
        sort(a.begin(), a.end());
        for(int i = 0;  i < a.size() - 1; ++i)
            if(a[i] == a[i + 1]){
                a.erase(a.begin() + i + 1);
                --i;
            }
        cout << a.size() << endl;
    }
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться