4215 2023. 03. 16 17:34:39 Gabor Karácsonyi égők cpp11 Elfogadva 100/100 71ms 7212 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<<tavolsag;
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1812 KiB
2 Elfogadva 3ms 2000 KiB
subtask2 15/15
3 Elfogadva 37ms 3608 KiB
4 Elfogadva 37ms 3792 KiB
5 Elfogadva 37ms 3756 KiB
6 Elfogadva 3ms 2620 KiB
7 Elfogadva 3ms 2732 KiB
subtask3 10/10
8 Elfogadva 3ms 2860 KiB
9 Elfogadva 3ms 2980 KiB
10 Elfogadva 2ms 3064 KiB
11 Elfogadva 3ms 3164 KiB
12 Elfogadva 3ms 3248 KiB
subtask4 20/20
13 Elfogadva 3ms 3252 KiB
14 Elfogadva 3ms 3496 KiB
15 Elfogadva 3ms 3740 KiB
16 Elfogadva 3ms 3984 KiB
17 Elfogadva 3ms 4036 KiB
subtask5 25/25
18 Elfogadva 4ms 4188 KiB
19 Elfogadva 4ms 4136 KiB
20 Elfogadva 4ms 4228 KiB
21 Elfogadva 4ms 4160 KiB
22 Elfogadva 3ms 4156 KiB
subtask6 30/30
23 Elfogadva 71ms 7212 KiB
24 Elfogadva 48ms 5816 KiB
25 Elfogadva 52ms 5792 KiB
26 Elfogadva 67ms 6180 KiB
27 Elfogadva 68ms 6728 KiB
28 Elfogadva 52ms 5672 KiB
29 Elfogadva 48ms 5672 KiB
30 Elfogadva 37ms 5804 KiB