42192023-03-16 17:39:19AlexKarácsonyi égőkcpp11Accepted 100/10070ms6912 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, c, i;
    cin>>n>>c;     vector<int> egok(n);
    vector<int> szinek(c,-1);   //indextabla

    for(i=0;i<n;i++)
        cin>>egok.at(i);
    int hany=0;  //a szinek vektor kitoltott elemeinek a szama
    bool tele=false;
    int kicsi, nagy, tav, kistav;
    for(i=0;i<n;i++)
    {
        int szin=egok.at(i);
        if(szinek.at(szin)==-1)
        {
            hany++;
            szinek.at(szin)=i;
            if(hany==c)
            {
                kicsi=*min_element(szinek.begin(),szinek.end());
                nagy=*max_element(szinek.begin(),szinek.end());
                tele=true;
                tav=nagy-kicsi+1;
                kistav=tav;
            }
        }
        else if(!tele)
        {
            szinek.at(szin)=i;
        }
        else if(tele && szinek.at(szin)==kicsi)
        {
            szinek.at(szin)=i;
            kicsi=*min_element(szinek.begin(),szinek.end());
            nagy=*max_element(szinek.begin(),szinek.end());
            tav=nagy-kicsi+1;
            if(tav<kistav)
            {
                kistav=tav;
            }
        }
        else if(tele)
        {
            szinek.at(szin)=i;
        }
    }
    cout<<tav<<endl;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms1812 KiB
2Accepted3ms2060 KiB
subtask215/15
3Accepted37ms3788 KiB
4Accepted37ms4088 KiB
5Accepted37ms3992 KiB
6Accepted3ms3008 KiB
7Accepted3ms2996 KiB
subtask310/10
8Accepted3ms3228 KiB
9Accepted2ms3276 KiB
10Accepted3ms3344 KiB
11Accepted3ms3484 KiB
12Accepted2ms3548 KiB
subtask420/20
13Accepted3ms3444 KiB
14Accepted3ms3332 KiB
15Accepted3ms3328 KiB
16Accepted3ms3452 KiB
17Accepted3ms3572 KiB
subtask525/25
18Accepted4ms3736 KiB
19Accepted4ms3840 KiB
20Accepted4ms3928 KiB
21Accepted3ms3916 KiB
22Accepted3ms4048 KiB
subtask630/30
23Accepted70ms6912 KiB
24Accepted50ms5240 KiB
25Accepted54ms5320 KiB
26Accepted64ms5712 KiB
27Accepted67ms6260 KiB
28Accepted54ms5680 KiB
29Accepted48ms5668 KiB
30Accepted37ms5744 KiB