44102023-03-27 18:26:01balaaaazsKarácsonyi égőkcpp14Elfogadva 100/100119ms24684 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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1684 KiB
2Elfogadva3ms1844 KiB
subtask215/15
3Elfogadva52ms3280 KiB
4Elfogadva50ms3504 KiB
5Elfogadva50ms3716 KiB
6Elfogadva3ms2576 KiB
7Elfogadva3ms2916 KiB
subtask310/10
8Elfogadva3ms3004 KiB
9Elfogadva3ms3096 KiB
10Elfogadva3ms3216 KiB
11Elfogadva3ms3360 KiB
12Elfogadva3ms3428 KiB
subtask420/20
13Elfogadva3ms3568 KiB
14Elfogadva3ms3804 KiB
15Elfogadva3ms3884 KiB
16Elfogadva3ms3868 KiB
17Elfogadva3ms3860 KiB
subtask525/25
18Elfogadva4ms4464 KiB
19Elfogadva4ms4112 KiB
20Elfogadva4ms4444 KiB
21Elfogadva4ms4300 KiB
22Elfogadva4ms4304 KiB
subtask630/30
23Elfogadva119ms24684 KiB
24Elfogadva59ms5636 KiB
25Elfogadva64ms5544 KiB
26Elfogadva89ms10284 KiB
27Elfogadva98ms14964 KiB
28Elfogadva64ms5552 KiB
29Elfogadva64ms5708 KiB
30Elfogadva48ms5696 KiB