Cod sursa(job #677634)

Utilizator gabrielvGabriel Vanca gabrielv Data 10 februarie 2012 14:21:34
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
using namespace std;
#include<fstream>
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[100005],n,i,start,finish,begin,end,best,curent,p;
int main()
{
	start=1;
	finish=1;
	begin=1;
	end=1;
	curent=1;
	best=1;
	
	fin>>n;
	for(i=1;i<=n;i++)
		fin>>v[i];
	p=v[1];
	
	for(i=1;i<=n;i++)
	{
		if(p<v[i])
		{
			finish=i;
			curent++;
		}
		else
			if(p>v[i])
			{
				start=i;
				finish=i;
				curent=1;
			}
			else
				finish=i;
		if(curent>best)
		{
			begin=start;
			end=finish;
			best=curent;
		}
		p=v[i];
	}
	
	fout<<best<<"\n";
	p=v[begin];
	fout<<v[begin]<<" ";
	for(i=begin+1;i<=end;i++)
		if(p!=v[i])
		{
			fout<<v[i]<<" ";
			p=v[i];
		}
	
	fin.close();
	fout.close();
	return 0;
}