4410 2023. 03. 27 18:26:01 balaaaazs Karácsonyi égők cpp14 Elfogadva 100/100 119ms 24684 KiB
#include <iostream>
#include <vector>
#include <unordered_map>

using namespace std;

int main() {
    int n, c;
    cin >> n >> c;

    vector<int> lights(n);
    for (int i = 0; i < n; i++) {
        cin >> lights[i];
    }

    unordered_map<int, int> colorCount;
    int uniqueColors = 0;

    int left = 0, right = 0;
    int shortestSubsequence = n;

    while (right < n) {
        colorCount[lights[right]]++;

        if (colorCount[lights[right]] == 1) {
            uniqueColors++;
        }

        while (left <= right && colorCount[lights[left]] > 1) {
            colorCount[lights[left]]--;
            left++;
        }

        if (uniqueColors == c) {
            shortestSubsequence = min(shortestSubsequence, right - left + 1);
        }

        right++;
    }

    cout << shortestSubsequence << endl;

    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1684 KiB
2 Elfogadva 3ms 1844 KiB
subtask2 15/15
3 Elfogadva 52ms 3280 KiB
4 Elfogadva 50ms 3504 KiB
5 Elfogadva 50ms 3716 KiB
6 Elfogadva 3ms 2576 KiB
7 Elfogadva 3ms 2916 KiB
subtask3 10/10
8 Elfogadva 3ms 3004 KiB
9 Elfogadva 3ms 3096 KiB
10 Elfogadva 3ms 3216 KiB
11 Elfogadva 3ms 3360 KiB
12 Elfogadva 3ms 3428 KiB
subtask4 20/20
13 Elfogadva 3ms 3568 KiB
14 Elfogadva 3ms 3804 KiB
15 Elfogadva 3ms 3884 KiB
16 Elfogadva 3ms 3868 KiB
17 Elfogadva 3ms 3860 KiB
subtask5 25/25
18 Elfogadva 4ms 4464 KiB
19 Elfogadva 4ms 4112 KiB
20 Elfogadva 4ms 4444 KiB
21 Elfogadva 4ms 4300 KiB
22 Elfogadva 4ms 4304 KiB
subtask6 30/30
23 Elfogadva 119ms 24684 KiB
24 Elfogadva 59ms 5636 KiB
25 Elfogadva 64ms 5544 KiB
26 Elfogadva 89ms 10284 KiB
27 Elfogadva 98ms 14964 KiB
28 Elfogadva 64ms 5552 KiB
29 Elfogadva 64ms 5708 KiB
30 Elfogadva 48ms 5696 KiB