Cod sursa(job #384288)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 19 ianuarie 2010 20:30:23
Problema Subsir 2 Scor 17
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
# include <fstream.h>
ifstream f ("subsir2.in");
ofstream g ("subsir2.out");
int a[100],t[100],l[100],poz,i,j,k,min,inf=32000,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=n;j>i;j--)
		
			
			if (a[j]>=a[i])
			{
				if (minf==l[j])
					if (min>=a[j])
					{
						min=a[j];
						t[i]=j;
					}
				
				if (minf>l[j])
				{
					minf=l[j];
					min=a[j];
				    t[i]=j;
				}
				else	
				if (min>=a[j])
				{
					min=a[j];
					minf=l[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;
				  }
		
	}
		g<<min<<"\n";
		g<<poz<<" ";
		while (t[poz])
		{
			g<<t[poz]<<" ";
			poz=t[poz];
		}
		
		
	return 0;
}