Pagini recente » infoarena - comunitate informatica, concursuri de programare | Cod sursa (job #2247573) | infoarena 2 | Cod sursa (job #1295010) | Cod sursa (job #865271)
Cod sursa(job #865271)
#include <iostream>
#include <fstream>
using namespace std;
long int a[100001],b[100001],i,j,k,mx=0,n,p;
int main()
{
ifstream fin("scmax.in");
ofstream fout("scmax.out");
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
for(i=n;i>=1;i--)
{
for(j=i+1;j<=n;j++)
{
if((a[j]>a[i])&&(b[i]<=b[j]))
b[i]=b[j]+1;
}
if(b[i]==0)
b[i]=1;
}
for(i=1;i<=n;i++)
if(b[i]>mx)
mx=b[i];
fout<<mx<<endl;
for(i=1;i<=n;i++)
{
if(b[i]==mx)
{
fout<<a[i]<<" ";
mx--;
}
}
return 0;
}