Pagini recente » Cod sursa (job #1491186) | Cod sursa (job #1532162) | Cod sursa (job #607376) | Cod sursa (job #2840907) | Cod sursa (job #1538103)
#include <fstream>
using namespace std;
int n, a[100003], max1, k, l[100003], nr;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{ int i,poz,j;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
l[n]=1;
for(i=n-1;i>=1;i--)
{ max1=0;
for(j=i+1;j<=n;j++)
if(a[j]>a[i]&&l[j]>max1) max1=l[j];
l[i]=max1+1;
}
max1=0;
for(i=1;i<=n;i++)
if(l[i]>max1){max1=l[i];poz=i;}
g<<max1<<endl;
while(max1>0)
{ g<<a[poz]<<' ';
max1--;
for(i=poz+1;i<=n;i++)
if(a[i]>a[poz]&&l[i]==max1)
{poz=i;
break;
}
}
return 0;
}