Cod sursa(job #384369)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 19 ianuarie 2010 22:39:26
Problema Subsir 2 Scor 76
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 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=32000,n,minf,ok,pozz;
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;
	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<<" ";
		min--;
		while (min)
		{
		
		minf=inf;
		for (i=poz;i<=n;i++)
			if (l[i]==min)
				if (a[i]>=a[poz])
				if (minf>a[i])	
				{
					 minf=a[i];
				     pozz=i;
					
					}
		poz=pozz;
				g<<poz<<" ";
		
		min--;
		}

		
		
	return 0;
}