Pagini recente » Istoria paginii onis-2014/clasament/runda-1 | Cod sursa (job #172238) | Profil edytzu15 | Istoria paginii preoni-2006/runda-2/clasament-9 | Cod sursa (job #1528487)
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned int n;
FILE *fp;
fp = fopen("scmax.in", "r");
fscanf(fp, "%d", &n);
int a[n];
unsigned int i=0;
int num;
while(fscanf(fp, "%d", &num) > 0) {
a[i] = num;
i++;
}
fclose(fp);
unsigned int j,lel,maxlen=1,maxpos=0,len;
for(i=0; i<n;)
{
len=1;
unsigned int nexti=n;
unsigned int f=0;
lel=i;
for(j=i+1; j<n; j++)
{
if(a[lel]<a[j])
{
lel=j;
len++;
}
else if((a[lel]>a[j])&&(f==0))
{
f++;
nexti=j;
}
}
if(len>maxlen)
{
maxlen=len;
maxpos=i;
}
i=nexti;
}
lel=maxpos;
fp = fopen("scmax.out", "w+");
fprintf(fp,"%d\n",maxlen);
fprintf(fp,"%d ",a[maxpos]);
for(j=maxpos+1; j<n; j++)
{
if(a[lel]<a[j])
{
fprintf(fp,"%d ",a[j]);
lel=j;
}
}
fclose(fp);
return 0;
}