Pagini recente » Cod sursa (job #282245) | Cod sursa (job #480884) | Cod sursa (job #877000) | Cod sursa (job #522756) | Cod sursa (job #1122378)
#include <fstream>
#include <iostream>
using namespace std;
int a[100001],l[100001],t[100001],n;
ofstream fout("scmax.out");
void afisare(int t_)
{
if(t_)
{
afisare(t[t_]);
fout<<a[t_]<<" ";
}
}
int main()
{
ifstream fin("scmax.in");
int i,k,mx,kmx,l_max=0,t_max;
fin>>n;
for(i=1;i<=n;++i)
{
fin>>a[i];
mx=1;kmx=0;
for(k=1;k<i;++k)
if(a[i]>a[k]&&l[k]+1>mx)
{
mx=l[k]+1;
kmx=k;
}
l[i]=mx;
t[i]=kmx;
if(l[i]>l_max)
{
l_max=l[i];
t_max=i;
}
}
fin.close();
//for(i=1;i<=n;++i)cout<<t[i]<<" ";
cout<<n;
fout<<l_max<<"\n";
afisare(t_max);
return 0;
}