Cod sursa(job #863782)

Utilizator wallyMocanu Valentin wally Data 24 ianuarie 2013 04:14:59
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<fstream>
using namespace std;

int main ()
{
	long n,i,k=1, max=1, first, last, pr, ul = 0, s=0;
	long long a[100000];
	ifstream f ("scmax.in");
	ofstream g ("scmax.out");
	f>>n;
	f>>a[0];
	for (i=1;i<n;i++)
	{
		f>>a[i];
		if (a[i]==a[i-1])
			continue;
		
		if (a[i]>a[i-1])
		{
			k++;
			if (k==2)
			first = i-1;	
		}
		if (a[i]<a[i-1])
		{
			last = i-1;
			if (max<k)
			{
				max=k;
				pr=first;
				ul=last;
			}
			k=1;
		}
			
	}
	if (max<k)
	{
		max=k;
		pr=first;
		if (ul==0)
			ul=n-1;
	}
	
	for (i=0;i<=n;i++)
		s++;
	
	if (max==1)
		g<<max<<"\n"<<a[0];
	else
	{
		g<<max<<"\n";
		g<<a[pr]<<" ";
		for (i=pr+1;i<=ul;i++)
			if (a[i]==a[i-1])
				continue;
			else
				g<<a[i]<<" ";
	}
	f.close();
	g.close();
	return 0;
}