Cod sursa(job #627239)

Utilizator suzanicaSuzanica Mihu suzanica Data 29 octombrie 2011 13:23:42
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>
using namespace std;
long v[10000],l[10000],n,i,k,max1,t;
int main()
{
	  ifstream f("scmax.in");
	  ofstream g("scmax.out");
	  f>>n;
	  for(i=1;i<=n;i++)
		  f>>v[i];
	  l[n]=1;
	  for(k=n-1;k>=1;k--)
	  {
		  max1=0;
		  for(i=k+1;i<=n;i++)
			  if(v[i]>v[k]&&l[i]>max1)
				  max1=l[i];
			  l[k]=1+max1;
	  }
	  max1=l[1];
	  t=1;
	  for(k=1;k<=n;k++)
		  if(l[k]>max1)
		  {
			  max1=l[k];
			  t=k;
		  }
		  g<<max1<<"\n";
		  g<<v[t]<<" ";
		  for(i=t+1;i<=n;i++)
			  if(v[i]>v[t]&&l[i]==max1-1)
			  {
				  g<<v[i]<<" ";
				  max1--;
			  }
		  return 0;
}