Cod sursa(job #1168851)

Utilizator stefi12345risteastefan stefi12345 Data 9 aprilie 2014 19:07:32
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
//#include "stdafx.h"
#include "fstream"
using namespace std;
long Vector[100000];
int VMaxim[100000];//vectorul in care retin tendinta maxima pana la elem respectiv
int UseableElem[100000];//in acest vector retin tendintele care pot fii folosite in ascensiune
int main()
{
    ifstream f("6.in");
	ofstream g("6.out");
	int i , Pozition , Max , MaxBest , PozMax , j;
	int a;
	for(int NrElem ; f>>NrElem;)
	{
		for(i=1;i<=NrElem;i++)
			f>>Vector[i];
		VMaxim[1]=1;
		MaxBest=1;
		UseableElem[0]=-1;
		Pozition=1;
		for(i=2;i<=NrElem;i++)
		{
			Max=0;
			for(j=i-1;j>=1;j--)
				if(Vector[i]>Vector[j]&&VMaxim[j]>Max)
				{
					Max=VMaxim[j];
					Pozition=j;
				}
			VMaxim[i]=Max+1;
			UseableElem[i]=Pozition;
			if(Vector[i]<=Vector[Pozition])
			{
				VMaxim[i]=1;
				UseableElem[i]=-1;
			}
			if(MaxBest<VMaxim[i])
			{
				MaxBest=VMaxim[i];
				PozMax=i;
			}
		}
		g<<MaxBest<<"\n";
	}
    return 0;
}