Pagini recente » Cod sursa (job #2718767) | Cod sursa (job #2317379) | Cod sursa (job #2852717) | Cod sursa (job #507246) | Cod sursa (job #1010791)
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int n, v[10000], lg[10000], prec[10000], maxi, maxj, max, j, i;
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for( i=0; i<n; i++ )
f>>v[i];
lg[0]=1;
for( i=1; i<n; i++ )
{
max=0;
for( j=0; j<i; j++ )
if( lg[j] > max && v[i] > v[j] )
{
max=lg[j];
maxj=j;
}
lg[i]=max+1;
prec[i]=maxj;
}
max=0;
for( i=0; i<n; i++ )
if(lg[i]>max)
{
max=lg[i];
maxi=i;
}
g<<max<<"\n";
for( i=1; i<=max; i++ )
{
g<<v[maxi]<<" ";
maxi=prec[maxi];
}
f.close();
g.close();
return 0;
}