Cod sursa(job #809388)

Utilizator DisturbedTeuca Sergiu Disturbed Data 8 noiembrie 2012 11:14:16
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
long int v[10000],l[10000],i,n,max,pm,j,mx,tata[10000];
f>>n;
for (i=1;i<=n;i++) f>>v[i];
l[n]=1;tata[n]=0;
for (i=n-1;i>0;i--)
{
max=0;
for (j=i+1;j<=n;j++) if ((v[i]<v[j])&&(l[j]>max))
{
max=l[j];
pm=j;
}
if (max==0) {tata[i]=0;l[i]=1;}
else { l[i]=max+1;tata[i]=pm; }
}
mx=0;
for (i=1;i<=n;i++) if (mx<l[i]) {mx=l[i];j=i;}
g<<mx<<endl;
i=j;g<<v[i]<<" ";
while (tata[i]!=0) {g<<v[tata[i]]<<" ";i=tata[i];}
}