Pagini recente » Cod sursa (job #2729802) | Cod sursa (job #60304)
Cod sursa(job #60304)
#include<stdio.h>
#define minim( x , y ) ( x < y ? x : y )
#define Nmax 5001
int v[Nmax],a[Nmax],n;
int main()
{
int i,j,min,S,no;
freopen("subsir2.in","r",stdin);
freopen("subsir2.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",v+i);
a[n]=1;
for(i=n-1;i;i--)
{
min=10001;
a[i]=5001;
for(j=i+1;j<=n;j++)
{
if( v[i] <= v[j] && v[j] < min )
a[i] = minim( a[i], a[j]+1 ) ;
if( v[j] >= v[i] ) min= minim(min,v[j]);
}
if( a[i] == 5001 ) a[i] = 1;
}
no=v[1],S=a[1];
for(i=2;i<=n;i++)
if ( v[i] <= no && a[i] < S )
no = i , S = a[i];
printf("%d\n",S);
return 0;
}