Pagini recente » Cod sursa (job #1672869) | Cod sursa (job #1662666) | Cod sursa (job #619645) | Cod sursa (job #2157039) | Cod sursa (job #362980)
Cod sursa(job #362980)
#include<fstream.h>
ifstream f("scmax.in");
ofstream g("scmax.out");
int x,m,l,n,v[100001],a[100001],i,j,p[100001],max;
void rec(int k){
if(k>0){
rec(p[k]);
g<<v[k]<<' ';
}
}
int main(){
f>>n;m=-1;
for(i=1;i<=n;i++)
f>>v[i];
a[1]=1;p[1]=0;
for(i=2;i<=n;i++){
max=0;
for(j=i-1;j>=1;j--)
if(v[j]<v[i]&&max<a[j])
{ max=a[j];
p[i]=j;break;
}
a[i]=max+1;
if(max+1>m){
m=max+1;
x=i;
}
}
g<<m<<'\n';
rec(x);
return 0;
}