Cod sursa(job #631893)

Utilizator StefanLacheStefan Lache StefanLache Data 9 noiembrie 2011 21:43:13
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<iostream>
#include<stdio.h>
int n,v[100000],best[100000];
using namespace std;
int main()
{
	freopen("scmax.in","r",stdin);
	freopen("scmax.out","w",stdout);
	int i,j,max,maxi,prev,nr;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		scanf("%d",&v[i]);
	for(i=2;i<=n;i++)
	{   
		prev=max=0;
		nr=1;
		for(j=1;j<i;j++)
			if(v[j]<v[i]&&v[j]>prev)
				{
					prev=v[j];
					nr++;
			    }
		best[i]=nr;
		if(nr>max)
		{max=nr;maxi=i;}
	}
	printf("%d\n",max);
	prev=0;
	for(i=1;i<maxi;i++)
	{
		if(v[i]<v[maxi]&&v[i]>prev)
		    {printf("%d ",v[i]);prev=v[i];}
	}
	printf("%d",v[maxi]);
	return 0;
}