Pagini recente » Cod sursa (job #639347) | Cod sursa (job #60152) | Cod sursa (job #2659306) | Cod sursa (job #2131419) | Cod sursa (job #1681506)
#include <iostream>
#include <fstream>
using namespace std;
int n, i, v[1003], ma, v1[1003], poz[1003];
int main()
{
ifstream f("scmax.in");
ofstream g("scmax.out");
f >> n;
for (i=1;i<=n;++i)
f >> v[i] ;
int j, cont=1;
v1[n]=1;
poz[n]=-1;
for (i=n-1;i>=1;--i)
{
for (j=n;j>=i+1;--j)
if (v[i]<v[j])
{
if (v1[j]>ma) cont=j;
ma=max(ma,v1[j]);
}
if (ma==0) poz[i]=-1;
v1[i]=ma+1;
poz[i]=cont;
ma=0;
}
for (i=1;i<=n;++i)
{
if (v1[i]>=ma) {cont=i;ma=v1[i];}
}
g << ma << "\n";
for (i=cont;i!=-1;i=poz[i])
g << v[i] << " ";
return 0;
}