Pagini recente » Cod sursa (job #1623675) | Cod sursa (job #1682626) | Cod sursa (job #654145) | Cod sursa (job #279854) | Cod sursa (job #27192)
Cod sursa(job #27192)
#include <fstream.h>
long a[5000],b[5000];
int main()
{
int n,i,j,max=0,d,dmin=5001,x,y,xmin,ymin,aux,ok,max1=0;
ifstream f("secv.in");
ofstream g("secv.out");
f>>n;
for (i=1;i<=n;i++)
{
ok=0;
f>>a[i];
for (j=i-1;j>=0;j--)
{
if (a[i]>a[j] && (b[i]==0 || b[i]<=b[j]))
{
b[i]=b[j]+1;
if (max1<b[i])
max1=b[i];
}
if (a[i]==a[j])
ok=1;
}
if (ok==0)
max++;
}
if (max1==max)
{
for (i=1;i<=n;i++)
{
if (b[i]==1)
{
x=i;
aux=1; j=i;
while (j<=n && aux!=max)
{
if (b[j]==aux+1)
aux++;
j++;
}
if (aux==max)
{
y=j-1;
d=y-x;
}
}
if (dmin>d)
{
xmin=x;
ymin=y;
dmin=d;
}
}
g<<ymin-xmin+1;
}
else
g<<"-1\n";
f.close();
g.close();
return 0;
}