Pagini recente » Cod sursa (job #2407935) | Cod sursa (job #3030461) | Cod sursa (job #1049849) | Cod sursa (job #2569983) | Cod sursa (job #1118937)
#include <cstdio>
#define dmax 1001
using namespace std;
int a[dmax], sol[dmax], n, poz[dmax], s;
void read()
{
freopen("scmax.in", "r", stdin);
freopen("scmax.out", "w", stdout);
scanf("%i", &n);
for(int i=1;i<=n;i++)
{
scanf("%i", &a[i]);
}
}
void solve()
{
//for(int i=1;i<=n;i++)
//sol[i]=1;
for(int i=2;i<=n;i++)
{
int amax=1;
for(int j=1;j<i;j++)
if(a[j]<a[i] && sol[j]+1>amax)
amax=sol[j]+1, poz[i]=j;
if(amax>sol[s])
s=i;
sol[i]=amax;
}
}
int main()
{
read();
solve();
printf("%i\n", sol[s]);
int i=s;
while(i!=0)
{
printf("%i ", a[i]);
i=poz[i];
}
return 0;
}