Cod sursa(job #674853)

Utilizator dianah96Hatmanu Diana dianah96 Data 6 februarie 2012 20:21:53
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long v[10000],l[10000],ant[10000],n;
void afisare(int k)
{ 
	if(ant[k]>0)
	{
		k=ant[k];
		afisare(k);
		g<<v[k]<<" ";
	}
}
int main()
{
	int i;
	long max,poz;
	f>>n;
	max=-10000;
	poz=-1;
	f>>v[1]; l[1]=1; ant[1]=0;
	for(i=2;i<=n;i++)
		{f>>v[i];
		if(v[i]>v[i-1])
			{l[i]=l[i-1]+1;
			ant[i]=i-1;
			}
		else
			if(v[i]==v[i-1])
				{l[i]=l[i-1];
				 ant[i]=ant[i-1];
				}
			else
				{l[i]=1;
				ant[i]=0;
				if(l[i-1]>max)
					{max=l[i-1];
					poz=i-1;
					}
				}
		}
	if(l[i-1]>max)
					{max=l[i-1];
					poz=i-1;
					}	
	g<<max<<endl;
	afisare(poz);
	g<<v[poz]<<" ";
return 0;
}