Pagini recente » Cod sursa (job #2051772) | Cod sursa (job #1984880) | Cod sursa (job #1831124) | Cod sursa (job #2024846) | Cod sursa (job #2252056)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,i,j,Max,poz,k,V[100001],sol[100001],tt[100001],l[100001];
int main()
{fin>>n;
Max=0; poz=0;
for(i=1;i<=n;i++){
l[i]=1;
tt[i]=0;
for(j=i-1;j>=1;j--){
if(V[i]>V[j])
if(l[i]<l[j]+1){
l[i]=l[j]+1;
tt[i]=j;
}
}
if(l[i]>Max){
Max=l[i];
poz=i;
}
}
fout<<Max<<"\n";
k=Max;
while(k>0){
sol[k]=poz;
poz=tt[poz];
k--;
}
for(i=1;i<=Max;i++)
fout<<V[sol[i]]<<" ";
return 0;
}