Cod sursa(job #287013)

Utilizator lucianvnDragomir Lucian lucianvn Data 24 martie 2009 14:09:33
Problema Secv Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream.h>
ifstream intrare ("secv.in");
ofstream iesire ("secv.out");
int v[5001],n,sol[5001][3];
int main()
{
	int i,nr,j,sw=0,max=0,min;
	intrare>>n;
	for(i=1;i<=n;i++)
	{
		intrare>>v[i];
	}
	if (n>=1)
	{
	sol[n][1]=1;
	sol[n][2]=0;
        sw=1;
	for(i=n-1;i>=1;i--)
	{
		sol[i][1]=1;
		sol[i][2]=0;
		max=0;
		for(j=i+1;j<=n;j++)
		{
			if(v[i]<v[j])
			{
				if(max<=sol[j][1])
				{
					sol[i][1]=sol[j][1]+1;
					max=sol[j][1];
					sol[i][2]=j;
				}
			}
		}
	}
	}
	int poz2;
	max=0;
	nr=0;
	if(sw==1)
	{
	for(i=1;i<=n;i++)
	{
		if(max<=sol[i][1])
		{
			max=sol[i][1];
			min=i;
		}
	}
	for(i=1;i<=n;i++)
	{
		if(sol[i][1]==1) {poz2=i; i=n+1;}
	}
	nr=poz2-min+1;
	iesire<<nr;
	}
	if(sw==0) iesire<<-1;
	return 0;
}