117942024-11-11 10:37:35AGergoKarácsonyi égőkcpp17Elfogadva 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;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms320 KiB
2Elfogadva1ms320 KiB
subtask215/15
3Elfogadva16ms1084 KiB
4Elfogadva16ms1080 KiB
5Elfogadva16ms1080 KiB
6Elfogadva1ms320 KiB
7Elfogadva1ms320 KiB
subtask310/10
8Elfogadva1ms320 KiB
9Elfogadva1ms508 KiB
10Elfogadva1ms540 KiB
11Elfogadva1ms320 KiB
12Elfogadva1ms320 KiB
subtask420/20
13Elfogadva1ms320 KiB
14Elfogadva1ms380 KiB
15Elfogadva1ms320 KiB
16Elfogadva1ms320 KiB
17Elfogadva1ms320 KiB
subtask525/25
18Elfogadva1ms320 KiB
19Elfogadva1ms320 KiB
20Elfogadva1ms392 KiB
21Elfogadva1ms320 KiB
22Elfogadva1ms320 KiB
subtask630/30
23Elfogadva26ms1996 KiB
24Elfogadva19ms1260 KiB
25Elfogadva20ms1080 KiB
26Elfogadva24ms1228 KiB
27Elfogadva24ms1588 KiB
28Elfogadva21ms1016 KiB
29Elfogadva19ms1080 KiB
30Elfogadva16ms1084 KiB