42122023-03-16 17:32:48GaborKarácsonyi égőkcpp11Hibás válasz 0/10071ms7152 KiB
#include <iostream>
#include<bits/stdc++.h>
#include<vector>
using namespace std;

int main()
{
    int n,c,i;
    cin>>n>>c;
    vector<int> egok(n);
    vector<int> szinek(c,-1);
    for(i=0;i<n;i++)
        cin>>egok.at(i);

    int hany=0;
    bool tele=false;
    int kicsi,tavolsag,nagy,kistav;
    for(i=0;i<n;i++)
    {
        if(szinek.at(egok.at(i))==-1)
        {
            hany++;
            szinek.at(egok.at(i))=i;
            if(hany==c)
            {
                kicsi=*min_element(szinek.begin(),szinek.end());
                nagy=*max_element(szinek.begin(),szinek.end());
                tele=true;
                tavolsag=nagy-kicsi+1;
                kistav=tavolsag;
            }
        }
        else if(!tele)
            szinek.at(egok.at(i))=i;
        else if(tele&&szinek.at(egok.at(i))==kicsi)
        {
            szinek.at(egok.at(i))=i;
            kicsi=*min_element(szinek.begin(),szinek.end());
            nagy=*max_element(szinek.begin(),szinek.end());
            tavolsag=nagy-kicsi+1;
            if(tavolsag<kistav)
                kistav=tavolsag;
        }
        else if(tele)
        {
            szinek.at(egok.at(i))=i;
        }
    }

    cout<<endl<<tavolsag;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz3ms1684 KiB
2Hibás válasz3ms1844 KiB
subtask20/15
3Hibás válasz37ms3288 KiB
4Hibás válasz37ms3412 KiB
5Hibás válasz37ms3900 KiB
6Hibás válasz3ms2652 KiB
7Hibás válasz3ms2896 KiB
subtask30/10
8Hibás válasz3ms2760 KiB
9Hibás válasz3ms2916 KiB
10Hibás válasz3ms3164 KiB
11Hibás válasz3ms3232 KiB
12Hibás válasz3ms3192 KiB
subtask40/20
13Hibás válasz3ms3200 KiB
14Hibás válasz3ms3324 KiB
15Hibás válasz3ms3572 KiB
16Hibás válasz3ms3676 KiB
17Hibás válasz3ms3924 KiB
subtask50/25
18Hibás válasz4ms3972 KiB
19Hibás válasz4ms3956 KiB
20Hibás válasz4ms4176 KiB
21Hibás válasz3ms4160 KiB
22Hibás válasz4ms4160 KiB
subtask60/30
23Hibás válasz71ms7152 KiB
24Hibás válasz48ms5556 KiB
25Hibás válasz54ms5588 KiB
26Hibás válasz67ms5984 KiB
27Hibás válasz68ms6500 KiB
28Hibás válasz54ms5668 KiB
29Hibás válasz48ms5652 KiB
30Hibás válasz37ms5712 KiB