Pagini recente » Cod sursa (job #377553) | Profil UTI_Cristia_Racu_Dobos | Cod sursa (job #335870) | Cod sursa (job #235746) | Cod sursa (job #464098)
Cod sursa(job #464098)
#include <stdio.h>
long long v[100001], l[100001];
int n, i, j, k;
int Max, t;
int ultim;
int main ()
{
FILE *f = fopen ("scmax.in","r");
FILE *g = fopen ("scmax.out","w");
fscanf (f,"%d", &n);
for (i=1; i<=n; ++i)
fscanf (f,"%lld", &v[i]);
l[n] = 1;
Max = 1;
t = n;
for (i=n-1; i>=1; --i)
{
ultim = v[i];
l[i] = 1;
for (j=i; j<=n; ++j)
if (ultim < v[j])
{
l[i] ++;
ultim = v[j];
}
if (l[i] > Max)
{
Max = l[i];
t = i;
}
}
/*for (i=1; i<=n; ++i)
printf ("%d ", l[i]);
printf ("Max = %d\nt = %d\n", Max, t);*/
fprintf (g,"%d\n", Max);
ultim = v[t];
fprintf (g,"%lld ", v[t]);
for (i=t + 1; i<=n; ++i)
{
if (v[i] >= ultim && l[i] + 1 == Max)
{
fprintf (g,"%lld ", v[i]);
ultim = v[i];
Max --;
}
}
fclose(g);
fclose(f);
return 0;
}