61132023-11-01 16:29:03GhostKarácsonyi égőkcpp17Elfogadva 100/100160ms26704 KiB
#include <iostream>
#include <vector>
#include <set>
#include <limits.h>

using namespace std;

int main()
{
    int n, c, i, out = INT_MAX;
    cin >> n >> c;

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

    vector<int> colors(c, 0);
    set<int> present;

    int back = 0;
    i = 0;
    while (i < n) {
        if (present.size() < c) {
            present.insert(lights[i]);
            colors[lights[i]]++;
            i++;
        }
        if (present.size() == c) {
            if (out > i - back) {
                out = i - back;
            }
            colors[lights[back]]--;
            if (colors[lights[back]] == 0) {
                present.erase(lights[back]);
            }
            back++;
        }
    }
    cout << out;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1812 KiB
2Elfogadva3ms2056 KiB
subtask215/15
3Elfogadva41ms3648 KiB
4Elfogadva39ms3812 KiB
5Elfogadva39ms3996 KiB
6Elfogadva3ms2724 KiB
7Elfogadva3ms2968 KiB
subtask310/10
8Elfogadva3ms3060 KiB
9Elfogadva3ms3272 KiB
10Elfogadva3ms3520 KiB
11Elfogadva3ms3764 KiB
12Elfogadva3ms3812 KiB
subtask420/20
13Elfogadva3ms3892 KiB
14Elfogadva3ms4120 KiB
15Elfogadva3ms4208 KiB
16Elfogadva3ms4324 KiB
17Elfogadva3ms4440 KiB
subtask525/25
18Elfogadva4ms5072 KiB
19Elfogadva4ms4952 KiB
20Elfogadva4ms4904 KiB
21Elfogadva4ms4892 KiB
22Elfogadva3ms4984 KiB
subtask630/30
23Elfogadva160ms26704 KiB
24Elfogadva61ms6096 KiB
25Elfogadva71ms6544 KiB
26Elfogadva104ms11356 KiB
27Elfogadva119ms16392 KiB
28Elfogadva71ms6596 KiB
29Elfogadva61ms6328 KiB
30Elfogadva39ms6328 KiB