Pagini recente » Cod sursa (job #2957494) | Cod sursa (job #1950588) | Cod sursa (job #1662923) | Cod sursa (job #530598) | Cod sursa (job #266322)
Cod sursa(job #266322)
#include <stdio.h>
#define TOP 100001
FILE *f, *g;
long v[TOP], l[TOP], p[TOP], n, i, j, max, poz, x;
int main(void)
{
f=fopen("scmax.in","r");
g=fopen("scmax.out","w");
fscanf(f, "%ld", &n);
for (i=1;i<=n;i++)
fscanf(f, "%ld", &v[i]);
for (i=n;i>0;i--)
for (j=i;j<=n;j++)
if (v[i]<v[j]&&l[j]+1>l[i])
{
l[i]=l[j]+1;
p[i]=j;
}
max=poz=0;
for (i=1;i<=n;i++)
if (max<l[i])
{
max=l[i];
poz=i;
}
x=poz;
fprintf(g, "%ld\n", max+1);
while (p[x])
{
fprintf(g, "%ld ", v[x]);
x=p[x];
}
fprintf(g, "%ld", v[x]);
fcloseall();
return 0;
}