60702023-10-29 15:46:47GhostKarácsonyi égőkcpp17Időlimit túllépés 30/1001.6s5308 KiB
#include <iostream>
#include <vector>
#include <set>
#include <limits.h>

using namespace std;

bool check(int c, set<int> colors) {
    for (int i = 0; i < c; i++) {
        if (colors.count(i) == 0) {
            return 0;
        }
    }
    return 1;
}

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

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

    set<int> colors;
    int minPOSlength = n;
    for (i = 0; i < n-c; i++) {
        int length = 1, start = lights[i], j = i+1;
        colors.insert(start);
        while (!check(c, colors) && j != n) {
            colors.insert(lights[j]);
            j++, length++;
        }
        if (length < minPOSlength && length >= c && check(c, colors)) {
            minPOSlength = length;
        }
        if (minPOSlength == c) {
            break;
        }
        colors.clear();
    }
    cout << minPOSlength;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1808 KiB
2Elfogadva3ms2052 KiB
subtask20/15
3Időlimit túllépés1.6s2308 KiB
4Időlimit túllépés1.557s2468 KiB
5Időlimit túllépés1.569s2688 KiB
6Elfogadva35ms2724 KiB
7Elfogadva28ms2844 KiB
subtask310/10
8Elfogadva2ms2840 KiB
9Elfogadva3ms2720 KiB
10Elfogadva3ms2852 KiB
11Elfogadva3ms3108 KiB
12Elfogadva3ms3344 KiB
subtask420/20
13Elfogadva328ms3500 KiB
14Elfogadva39ms3588 KiB
15Elfogadva9ms3572 KiB
16Elfogadva495ms3592 KiB
17Elfogadva79ms3724 KiB
subtask50/25
18Elfogadva4ms3792 KiB
19Időlimit túllépés1.6s4016 KiB
20Időlimit túllépés1.577s3988 KiB
21Időlimit túllépés1.557s3944 KiB
22Elfogadva791ms3972 KiB
subtask60/30
23Elfogadva70ms5308 KiB
24Időlimit túllépés1.56s4048 KiB
25Időlimit túllépés1.565s4112 KiB
26Időlimit túllépés1.557s4748 KiB
27Időlimit túllépés1.562s4788 KiB
28Időlimit túllépés1.557s4424 KiB
29Időlimit túllépés1.572s4520 KiB
30Időlimit túllépés1.574s4276 KiB