Cod sursa(job #633618)

Utilizator StefanLacheStefan Lache StefanLache Data 14 noiembrie 2011 10:57:22
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<stdio.h>
int main()
{
	int n,i,j,nr,k,v[100000],best[100000],prev,max,maxi;
	freopen("scmax.in","r",stdin);
	freopen("scmax.out","w",stdout);
	scanf("%i",&n);
	for(i=0;i<n;i++)
		scanf("%i",&v[i]);
	for(i=0;i<n-1;i++)
	{
		k=i;
		nr=1;
		for(j=i+1;j<n;j++)
			if(v[j]>v[k])
			{
				k=j;
				nr++;
			}
		best[i]=nr;
	}
	max=0;
	for(i=0;i<n;i++)
		if(best[i]>max)
		{
			max=best[i];
			maxi=i;
		}
	printf("%i\n",max);
	prev=v[maxi];
	printf("%i ",v[maxi]);
	for(i=maxi+1;i<n;i++)
		if(v[i]>prev)
		{
			prev=v[i];
			printf("%i ",v[i]);
		}
	return 0;
}