Cod sursa(job #385474)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 22 ianuarie 2010 19:54:54
Problema Subsir 2 Scor 44
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
# include <fstream.h>
ifstream f ("subsir2.in");
ofstream g ("subsir2.out");
int a[10000],t[10000],l[10000],poz,i,j,k,min,inf=2000000,n,minf,ok;
int main ()
{
	f>>n;
	for (i=1;i<=n;i++)
		f>>a[i];
	min=inf;
	for (i=n;i>=1;i--)
	{  
	minf=inf;min=inf;
		for (j=i+1;j<=n;j++)
		
			
			if (a[j]>=a[i])
			{
				
				if (a[j]<min)
				if (minf>l[j])
				
				
				{
					minf=l[j];
				    min=a[j];
				    t[i]=j;
				}
				
			}
		if (minf!=inf)	
		l[i]=minf+1;
		else
			l[i]=1;
		
	}
	
	
	
	min=inf;
	minf=inf;
	for (i=1;i<=n;i++)
	{
      ok=0;
	  for (j=1;j<i;j++)
		  if (a[j]<=a[i])
			  ok=1;
		  if (ok==0)
			{  if (min>l[i])
				  {
					  min=l[i];
			       poz=i;
				   minf=a[i];
				  }
		if (min==l[i])
			if (minf>a[i])
			{	minf=a[i];
			poz=i;
			}
			}
	}
		g<<min<<"\n";
		g<<poz<<" ";
		while (t[poz])
		{
			g<<t[poz]<<" ";
			poz=t[poz];
		}
		
		
	return 0;
}