Pagini recente » Cod sursa (job #1433766) | Cod sursa (job #815890) | Cod sursa (job #2539987) | pascaliada | Cod sursa (job #3284490)
#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;
}