Pagini recente » Cod sursa (job #445602) | Cod sursa (job #2792763) | Cod sursa (job #1217610) | Cod sursa (job #842262) | Cod sursa (job #1886108)
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
short dx[]={1,1};
short dy[]={0,1};
int maxi,i,j,n,lmax[100001],a[100001],b,prim,ultim,poz,x;
struct pozi
{
short lin,col;
}c[101*101],p;
clock_t t_start, t_stop;
int main()
{
t_start=clock();
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
lmax[n]=1;
// urm[n]=-1;
maxi=1;
for(i=n-1;i>=1;--i)
{lmax[i]=1;
//urm[i]=-1;
for(j=i+1;j<=n;++j)
if(a[i]<a[j] && lmax[i]<lmax[j]+1)
{
lmax[i]=lmax[j]+1;
//urm[i]=j;
if(lmax[i]>maxi) {maxi=lmax[i]; poz=i;}
}
}
g<<maxi<<'\n';
for(i=1;i<=n && maxi!=0;i++)
if(lmax[i]==maxi) {g<<a[i]<<" ";maxi--;}
//cout<<endl;
//for(i=1;i<=n;i++)
// cout<<urm[i]<<" ";
t_stop=clock();
return 0;
}