Cod sursa(job #3140637)

Utilizator Stefanstef99Stefan Puica Stefanstef99 Data 7 iulie 2023 22:23:10
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("secv.in");
ofstream fout("secv.out");

int n,x[5005],y[5005];

int main()
{
    int i,j,k=1,ind;
    fin>>n;
    for(i=1;i<=n;i++) fin>>x[i];
    for(i=1;i<=n;i++) y[i]=x[i];
    sort(y+1,y+n+1);
    for(i=2;i<=n;i++)
        if(y[i]>y[k])
            y[++k]=y[i];
    if(k==1)
    {
        fout<<"1\n";
        return 0;
    }
    int ans=n+1;
    for(i=1;i<=n;i++)
    {
        if(x[i]!=y[1]) continue;
        ind=2;
        for(j=i+1;j<=n;j++)
        {
            if(x[j]==y[ind]) ind++;
            if(ind==k+1) break;
        }
        if(ind==k+1) ans=min(ans,j-i+1);
    }
    if(ans==n+1) ans=-1;
    fout<<ans<<"\n";
    return 0;
}