42192023-03-16 17:39:19AlexKarácsonyi égőkcpp11Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1812 KiB
2Elfogadva3ms2060 KiB
subtask215/15
3Elfogadva37ms3788 KiB
4Elfogadva37ms4088 KiB
5Elfogadva37ms3992 KiB
6Elfogadva3ms3008 KiB
7Elfogadva3ms2996 KiB
subtask310/10
8Elfogadva3ms3228 KiB
9Elfogadva2ms3276 KiB
10Elfogadva3ms3344 KiB
11Elfogadva3ms3484 KiB
12Elfogadva2ms3548 KiB
subtask420/20
13Elfogadva3ms3444 KiB
14Elfogadva3ms3332 KiB
15Elfogadva3ms3328 KiB
16Elfogadva3ms3452 KiB
17Elfogadva3ms3572 KiB
subtask525/25
18Elfogadva4ms3736 KiB
19Elfogadva4ms3840 KiB
20Elfogadva4ms3928 KiB
21Elfogadva3ms3916 KiB
22Elfogadva3ms4048 KiB
subtask630/30
23Elfogadva70ms6912 KiB
24Elfogadva50ms5240 KiB
25Elfogadva54ms5320 KiB
26Elfogadva64ms5712 KiB
27Elfogadva67ms6260 KiB
28Elfogadva54ms5680 KiB
29Elfogadva48ms5668 KiB
30Elfogadva37ms5744 KiB