Cod sursa(job #539924)

Utilizator razvanm1Razvan Mereu razvanm1 Data 23 februarie 2011 14:58:11
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<iostream>

#include<fstream>

using namespace std;

int a[100005],b[100005],s[100005];

int main()
{ int n,i,j,k=0,m=0,max;
  ifstream fin("scmax.in");
  ofstream fout("scmax.out");
  fin>>n;
  m=0;
  for(i=1;i<=n;i++)
  {
	  fin>>a[i];
  }
  b[1]=1;
  for(i=2;i<=n;i++)
  {
	  b[i]++;
	  k=1;
	  max=0;
	  for(j=1;j<=i;j++)
	  {
		  if((a[j]<a[i])&&(a[j]>max))
		  {
			  k++;	
			  max=a[j];
		  }
      }
	   b[i]=k;
	   if(b[i]>m) m=b[i];
  }	 
  fout<<m<<endl;
  k=0;
  int x=m;
  for(i=n;i>=1;i--)
  {
	 if(b[i]==m)
	 {
		 s[m]=a[i];
		 m--;
	 }
  }
  for(i=1;i<=x;i++)
  {
	  fout<<s[i]<<" ";
  }
  fin.close();
  fout.close();
  return 0;
}