Cod sursa(job #3284490)

Utilizator CostinGageaGagea Costin CostinGagea Data 11 martie 2025 18:06:40
Problema Secv Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream cin("secv.in");
ofstream cout("secv.out");

int v[5001];
int d[5001];
int g[5001];

int main()
{
    int n,i,cnt=0,maxi=-1,val,lmin=10000,j;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>v[i];
        if(v[i]>maxi)
            maxi=v[i];
        g[i]=v[i];
    }
    sort(g+1,g+n+1);
    for(i=1;i<=n;i++)
        if(g[i]!=g[i-1])
        {
            cnt++;
            g[cnt]=g[i];
        }
    for(i=1;i<=n;i++)
    {
        val=0;
        for(j=1;j<i;j++)
            if(v[i]>v[j] and d[j]>val)
                val=d[j];
        d[i]=val+1;
    }
    for(i=1;i<=n;i++)
    {
        if(v[i]==maxi and d[i]==cnt)
        {
            j=i;
            for(int x=cnt-1;x>=1;x--)
                while(v[j]!=g[x])
                    j--;
            if(i-j+1<lmin)
                lmin=i-j+1;
        }
    }
    cout<<lmin;
    return 0;
}