117942024-11-11 10:37:35AGergoKarácsonyi égőkcpp17Accepted 100/10026ms1996 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    cin.tie(0);
    iostream::sync_with_stdio(0);
    int n, c;
    cin >> n >> c;
    vector<int> colors = vector<int>(n);
    for(int i = 0; i < n; i++)
    {
        cin >> colors[i];
    }
    vector<int> ccount = vector<int>(c,false);

    //worm :)
    int l = 0, r = 0, len = n+1, counts = 0;

    while(r < n)
    {
        //cout << l << ":" << r << " - " << colors[r] << ":" << ccount[colors[r]] << "\n";
        if(ccount[colors[r]] == 0)
        {
            counts++;
        }
        ccount[colors[r]]++;
        if(counts == c)
        {
            while(l<r)
            {
                ccount[colors[l]]--;
                if(ccount[colors[l]] == 0)
                {
                    counts--;
                    if(len > r-l)
                    {
                        len = r-l;
                    }
                    break;
                }

                l++;
            }
        }
        r++;
    }

    cout << len+1;

}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms320 KiB
2Accepted1ms320 KiB
subtask215/15
3Accepted16ms1084 KiB
4Accepted16ms1080 KiB
5Accepted16ms1080 KiB
6Accepted1ms320 KiB
7Accepted1ms320 KiB
subtask310/10
8Accepted1ms320 KiB
9Accepted1ms508 KiB
10Accepted1ms540 KiB
11Accepted1ms320 KiB
12Accepted1ms320 KiB
subtask420/20
13Accepted1ms320 KiB
14Accepted1ms380 KiB
15Accepted1ms320 KiB
16Accepted1ms320 KiB
17Accepted1ms320 KiB
subtask525/25
18Accepted1ms320 KiB
19Accepted1ms320 KiB
20Accepted1ms392 KiB
21Accepted1ms320 KiB
22Accepted1ms320 KiB
subtask630/30
23Accepted26ms1996 KiB
24Accepted19ms1260 KiB
25Accepted20ms1080 KiB
26Accepted24ms1228 KiB
27Accepted24ms1588 KiB
28Accepted21ms1016 KiB
29Accepted19ms1080 KiB
30Accepted16ms1084 KiB