Pagini recente » Cod sursa (job #782009) | Cod sursa (job #2628762) | Cod sursa (job #953813)
Cod sursa(job #953813)
#include <fstream>
using namespace std;
ifstream fin ("scmax.in");
ofstream fout ("scmax.out");
int n,i,j,u,maxim,k;
int v[100010],f[100010],s[100010],t[100010];
int main (){
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
for (i=1;i<=n;i++) {
maxim=0;u=0;
for (j=1;j<i;j++)
if (v[i]>v[j]&&f[j]>maxim){ maxim=f[j]; u=j;}
f[i]=maxim+1;
t[i]=u;
}
maxim=0;
for (i=1;i<=n;i++)
if (f[i]>maxim) {maxim=f[i]; u=i;}
fout<<maxim<<"\n";
while (u!=0) {
s[++k] = v[u];
u=t[u];
}
for (i=maxim;i>=1;i--)
fout<<s[i]<<" ";
return 0;
}