Pagini recente » Cod sursa (job #1758162) | Cod sursa (job #537912) | Cod sursa (job #2270904) | Cod sursa (job #2100478) | Cod sursa (job #543579)
Cod sursa(job #543579)
#include <cstdio>
using namespace std;
FILE *f=fopen("scmax.in", "r"), *g=fopen("scmax.out", "w");
long v[100001], l[100001], a[100001], i, max, pmax, n, j, sw, r[100001];
int main(void)
{
fscanf(f, "%ld", &n);
for (i=0;i<=n;i++)
{
fscanf(f, "%ld", &v[i]);
sw=0;
for (j=1;j<i;j++)
if (v[i]>=v[j])
if (l[i]<l[j]+1)
{
l[i]=l[j]+1;
a[i]=j;
sw=1;
}
if (!sw)
l[i]=1;
if (l[i]>max)
{
max=l[i];
pmax=i;
}
}
fprintf(g, "%ld\n", max);
for (i=max;i>0;i--)
{
r[i]=v[pmax];
pmax=a[pmax];
}
for (i=1;i<=max;i++)
fprintf(g, "%ld ", r[i]);
fclose(f);
fclose(g);
return 0;
}