Pagini recente » Cod sursa (job #2730179) | Cod sursa (job #898412) | Cod sursa (job #3192283) | Cod sursa (job #1310531) | Cod sursa (job #1998753)
#include <bits/stdc++.h>
#define Max 100001
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int a[Max],p[Max],ant[Max],n;
void afis(int x)
{
if(x)
{
afis(ant[x]);
g<<a[x]<<" ";
}
}
int main()
{
f>>n;
for(int i=1;i<=n;++i)
f>>a[i],p[i]=1;
for(int i=1;i<n;++i)
for(int j=i+1;j<=n;++j)
if(a[j]>a[i] && p[j]<p[i]+1)
{
p[j]=p[i]+1;
ant[j]=i;
}
int Maxim=0,ind;
for(int i=1;i<=n;++i)
if(p[i]>Maxim)
{
Maxim=p[i];
ind=i;
}
g<<Maxim<<'\n';
afis(ind);
return 0;
}