Cod sursa(job #2909108)

Utilizator IacobTudorIacob Tudor IacobTudor Data 9 iunie 2022 13:51:59
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.18 kb
/**
 ____ ____ ____ ____ ____
||O |||M |||E |||G |||A ||
||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|


Se spune ca sunt vise
Si ca nu pot fi atinse
Sunt primele ce le vezi cand becurile-s stinse
Dar si cand is aprinse
Cand te trezesti cu ele-n gand
Si le vizualizezi din nou rand pe rand
Se spune ca visezi daca stai si-ti imaginezi
Ca esti altfel decat ceilalti, dar nu tre sa crezi
Continua sa lupti altfel imi vei da dreptate
Vei bea pe spate cu gandul la vise spulberate
    - "Vise" - Nane -

**/
#include<bits/stdc++.h>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int n,v[5005],v2[5005],mn(5005);
vector<int>d;
int main(){
    fin>>n;
    for(int i=1;i<=n;i++)fin>>v[i],v2[i]=v[i];
    sort(v2+1,v2+n+1);
    v2[0]=v2[1]-1;
    for(int i=1;i<=n;i++)if(v2[i]!=v2[i-1])d.push_back(v2[i]);
    for(int i=1;i<=n;i++){
        if(v[i]!=d[0])continue;
        int p(0);
        bool g(false);
        for(int j=i;j<=n&&!g;j++){
            if(v[j]==d[p])p++;
            if(p==d.size()){
                mn=min(mn,j-i+1);
                g=true;
            }
        }
    }
    fout<<((mn==5005)?-1:mn);
    return 0;
}