Pagini recente » Cod sursa (job #2368645) | Cod sursa (job #2147708) | Cod sursa (job #869643) | Cod sursa (job #1124495) | Cod sursa (job #2071070)
#include <fstream>
#define nmax 100002
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[nmax];
int l[nmax];
int pr[nmax];
int poz2;
void afis(int k)
{
if(pr[k])
{
afis(pr[k]);
}
fout<<v[k]<<" ";
}
int n,ma=0;
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>v[i];
}
l[1]=1;
pr[1]=0;
for(int i=2;i<=n;i++)
{
int ma2=1;
int poz=0;
for(int j=1;j<i;j++)
{
if(v[j]<v[i]&&ma2<l[j]+1)
{
ma2=l[j]+1;
poz=j;
}
}
pr[i]=poz;
l[i]=ma2;
if(ma2>ma)
{
ma=ma2;
poz2=i;
}
}
fout<<ma<<"\n";
afis(poz2);
return 0;
}