Pagini recente » Cod sursa (job #3229772) | Cod sursa (job #616425) | Cod sursa (job #576954) | Cod sursa (job #1778556) | Cod sursa (job #798954)
Cod sursa(job #798954)
#include <stdio.h>
#include <stdlib.h>
#define MAX 1000
int scsm(int *v, int n, int *poz)
{
int i, j, max, p, best[MAX];
best[0] = 1;
for (p = -1, max = 1, i = 1; i < n; ++i)
{ if (v[i] < v[i-1])
best[i] = 1;
else
{ best[i] = best[i-1] + 1;
if (max < best[i])
{ max = best[i];
p = i;
}
}
}
*poz = p;
return max;
}
int main()
{
FILE *f, *g;
int n, v[MAX], i, max, p;
f = fopen("scsm.in", "r");
fscanf(f, "%i", &n);
for (i = 0; i < n; ++i)
fscanf(f, "%i", v+i);
// for (i = 0; i < n; i++)
// printf("v[%i] = %i\n", i, v[i]);
g = fopen("scsm.out", "w");
max = scsm(v, n, &p);
fprintf(g, "%i\n", max);
for (i = p - max + 1; max > 0; i++, max--)
fprintf(g, "%i ", v[i]);
return 0;
}