Pagini recente » Istoria paginii utilizator/levladutz | Cod sursa (job #962856) | Cod sursa (job #1686890) | Cod sursa (job #2056031) | Cod sursa (job #539940)
Cod sursa(job #539940)
#include<iostream>
#include<fstream>
using namespace std;
int a[100005],b[100005],s[100005],max1[100005];
int main()
{ int n,i,j,k=0,m=0;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
fin>>n;
m=0;
for(i=1;i<=n;i++)
{
fin>>a[i];
}
m=0;
max1[1]=1;
for(i=2;i<=n;i++)
{
for(j=1;j<i;j++)
{
if((a[j]<a[i])&&(max1[j]>max1[i]))
{
max1[i]=max1[j];
}
}
max1[i]++;
if(max1[i]>m) m=max1[i];
}
fout<<m<<endl;
k=0;
for(i=n;i>=1;i--)
{
if(max1[i]==m)
{
k++;
m--;
s[k]=a[i];
}
}
for(i=k;i>=1;i--)
{
fout<<s[i]<<" ";
}
fin.close();
fout.close();
return 0;
}