Cod sursa(job #906965)

Utilizator DenisacheDenis Ehorovici Denisache Data 7 martie 2013 15:02:53
Problema Subsir crescator maximal Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long s[1000],l[1000],i,max1,n,j,ok,poz;
int main()
{f>>n;
 for(i=1;i<=n;i++)
	 f>>s[i];
 l[n]=1;
 for(i=n-1;i>=1;i--)
 {max1=1;l[i]=1;ok=0;	 
	 for(j=i+1;j<=n;j++)
		 if(s[i]<s[j]&&max1<=l[j])
			{ max1=l[j];
		      ok=1;}
	if(ok)l[i]=max1+1;
 }
/*for(i=1;i<=n;i++)
   g<<l[i]<<" ";
g<<'\n';*/
max1=l[1];poz=1;
for(i=1;i<=n;i++)
	if(l[i]>max1)
	{max1=l[i];
	 poz=i;}
g<<max1<<'\n';
g<<s[poz]<<" ";
max1--;
for(i=poz+1;i<=n;i++)
	if(l[i]==max1&&s[i]>=s[poz])
	{g<<s[i]<<" ";poz=i;max1--;}
f.close();
g.close();
return 0;
}