Pagini recente » Cod sursa (job #1839902) | Cod sursa (job #2832409) | Borderou de evaluare (job #700862) | Cod sursa (job #3224577) | Cod sursa (job #260886)
Cod sursa(job #260886)
#include<iostream>
#include<fstream>
using namespace std;
main ()
{
long i, j, a[10000], l[10000], poz[10000], n;
ifstream g("scmax.in");
g>>n;
for(i=1;i<=n;i++)
g>>a[i];
g.close();
l[n]=1;
poz[n]=-1;
for(i=n-1;i>0;i--)
for(l[i]=1, poz[i]=-1, j=i+1; j<=n; j++)
if(a[i]<=a[j] && l[i]<1+l[j])
{
l[i]=1+l[j]; poz[i]=j;}
ofstream fout("scmax.out");
int max=0,pozmax=1;
for (i=1;i<=n;i++)
if(max<l[i])
{
max=l[i];
pozmax=i;
}
fout<<max<<endl;
for(i=pozmax;i!=-1;i=poz[i])
fout<<a[i]<<" ";
fout.close();
}