Cod sursa(job #2778894)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 2 octombrie 2021 13:11:37
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("secv.in");
ofstream G("secv.out");
int a[5001],v[5001],f[5001],n,j,i,k,m,r;
int main()
{
    F>>n;
    for(i=1;i<=n;++i)
        F>>a[i];
    if(n==1)
        G<<1;
    else {
        memcpy(v,a,sizeof(a)),sort(v+1,v+n+1),f[1]=v[1],k=1;
        for(i=2;i<=n;++i)
            if(v[i]!=v[i-1])
                f[++k]=v[i];
        for(m=n+1,i=1;i<=n;++i)
            if(a[i]==f[1])
                for(r=2,j=i+1;j<=n;++j) {
                    if(a[j]==f[r])
                        ++r;
                    if(r==k+1) {
                        if(m>j-i+1)
                            m=j-i+1;
                        break;
                    }
                }
        G<<(m==n+1?-1:m);
    }
    return 0;
}