Pagini recente » Cod sursa (job #615724) | Cod sursa (job #546798) | Cod sursa (job #1508428) | Cod sursa (job #2788072) | Cod sursa (job #824470)
Cod sursa(job #824470)
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int lmax[100003],a[100003], maxim,poz[100003],p;
int n,i,j;
int main()
{f>>n;
for(i=1;i<=n;++i) f>>a[i];
lmax[n]=1;
poz[n]=-1;
maxim=1; p=n;
for(i=n-1;i>=1;--i)
{lmax[i]=1;
poz[i]=-1;
for(j=i+1;j<=n;++j)
if(a[i]<a[j] && lmax[i]<lmax[j]+1)
{
lmax[i]=lmax[j]+1;
poz[i]=j;
if(lmax[i]>maxim) maxim=lmax[i],p=i;
}
}
g<<maxim<<'\n';
i=p;
while(i!=-1) {g<<a[i]<<' '; i=poz[i];}
g<<'\n';
return 0;
}