Pagini recente » Cod sursa (job #2320559) | Cod sursa (job #412120) | Cod sursa (job #1604276) | Cod sursa (job #2603310) | Cod sursa (job #537281)
Cod sursa(job #537281)
#include<stdio.h>
#define dim 100000
int a[dim],i,j,k,best,r,n,max;
struct da {int x,y,l;} b[dim];
int main ()
{FILE *f=fopen("scmax.in","r"), *g=fopen("scmax.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++) fscanf(f,"%d",&a[i]);
k=1;
b[1].x=1;
b[1].l=1;
best=a[1];
for(i=2;i<=n;i++)
if(best<a[i]) {b[k].y=i;
best=a[i];
b[k].l++;
if(b[k].l>max) {max=b[k].l;r=k;}}
else if (b[k].l!=1 && best!=a[i])
i++;
else if(best!=a[i])
{k++;
b[k].x=i;
b[k].l=1;
best=a[i];}
fprintf(g,"%d\n",b[r].l);
for(i=b[r].x;i<=b[r].y;i++) if(a[i-1]!=a[i]) fprintf(g,"%d ",a[i]);
fclose(f);
fclose(g);
return 0;
}