Pagini recente » Cod sursa (job #2100865) | Cod sursa (job #2789975) | Cod sursa (job #1356123) | Cod sursa (job #2530958) | Cod sursa (job #2550637)
#include <stdio.h>
#include <stdlib.h>
FILE *fin, *fout;
void read_array(long int n, long int arr[])
{
for(long int i = 0; i < n; i++)
{
fscanf(fin, "%ld ", &arr[i]);
}
}
void find(long int n, long int a[])
{
long int i = 0, v[n], vi = 0, vmax[n], nrmax = 0;
while(i < n-1)
{
while((i < n-1) && (a[i] <= a[i+1]))
{
if(a[i] != a[i+1])
{
if(vi == 0)
{
v[vi] = a[i];
vi++;
i++;
v[vi++] = a[i];
}
else
{
v[vi++] = a[i+1];
i++;
}
}
else
{
i++;
}
}
if(vi > nrmax)
{
nrmax = vi;
for(long int k = 0; k < vi; k++)
{
vmax[k] = v[k];
}
}
i++;
vi = 0;
}
fprintf(fout, "%ld\n", nrmax);
for(long int j = 0; j < nrmax; j++)
{
fprintf(fout, "%ld ",vmax[j]);
//printf("%d ", vmax[j]);
}
}
int main()
{
fin = fopen("scmax.txt","r");
fout = fopen("scmax.out", "w");
long int n;
fscanf(fin,"%ld ",&n);
long int a[n];
read_array(n, a);
find(n, a);
fclose(fin);
fclose(fout);
return 0;
}