Pagini recente » Cod sursa (job #2141006) | Cod sursa (job #3254429) | Cod sursa (job #596790) | Cod sursa (job #1508876) | Cod sursa (job #1168847)
//#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;
}