Pagini recente » Cod sursa (job #2445768) | Cod sursa (job #328976) | Cod sursa (job #2347969) | Cod sursa (job #2175372) | Cod sursa (job #358705)
Cod sursa(job #358705)
#include <iostream>
#include <fstream>
using namespace std;
ofstream fout("scmax.out");
int i,n;
int *a,*l,*t;
void afish(int);
int main()
{
ifstream f("scmax.in");
//int a[21],l[21],t[21];
f>>n;
a=new int[n];
l=new int[n];
t=new int[n];
for (i=1;i<=n;i++)
f>>a[i];
f.close();
l[1]=1;
t[1]=0;
int max=1,j,g=1;
for(i=2;i<=n;i++)
{
int maxim=0,k=0;
for(j=1;j<i;j++)
{
if(a[j]<a[i]&&l[j]>maxim) { k=j;maxim=l[k];}
}
if(k) { l[i]=l[k]+1; t[i]=k;}
else { l[i]=1;t[i]=0;}
}
for(i=1;i<=n;i++)
{
if(l[i]>max) { max=l[i];g=i;}
}
/* while(g)
{
cout<<a[g]<<" ";
g=t[g];
}*/
fout<<max;
afish(g);
return 0;
}
void afish(int k)
{
if(k)
{
afish(t[k]);
fout<<a[k]<<" ";
}
}