Pagini recente » Cod sursa (job #1804322) | Cod sursa (job #2857932) | Cod sursa (job #2195612) | Cod sursa (job #482767) | Cod sursa (job #2550653)
#include <stdio.h>
#include <stdlib.h>
FILE *fin, *fout;
void read_array(int n, unsigned arr[])
{
for(int i = 0; i < n; i++)
{
fscanf(fin, "%u ", &arr[i]);
}
}
void find( int n, unsigned a[])
{
int i = 0, vi = 0, nrmax = 0;
unsigned v[n], vmax[n];
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(int k = 0; k < vi; k++)
{
vmax[k] = v[k];
}
}
i++;
vi = 0;
}
fprintf(fout, "%d\n", nrmax);
for(int j = 0; j < nrmax; j++)
{
fprintf(fout, "%u ",vmax[j]);
//printf("%d ", vmax[j]);
}
}
int main()
{
fin = fopen("scmax.in","r");
fout = fopen("scmax.out", "w");
int n;
fscanf(fin,"%d ",&n);
unsigned a[n];
read_array(n, a);
find(n, a);
fclose(fin);
fclose(fout);
return 0;
}