Pagini recente » Cod sursa (job #2645339) | Cod sursa (job #197328) | Cod sursa (job #1202354) | Cod sursa (job #3274219) | Cod sursa (job #1091766)
#include <stdio.h>
#include <stdlib.h>
int cmin(int*v,int poz_start,int poz_end){
register int i;
int min=~0;
for(i=poz_start;i<poz_end;i++)
if(v[i]<min)
min=v[i];
return min;
}
int main()
{
FILE * fp;
int k;
int n;
int i;
int poz_start_max;
int poz_end_max;
int poz_start;
int poz_end;
int pseudomin;
if((fp=fopen("secventa.in","r"))==NULL)
return 1;
fscanf(fp,"%d",&n);
fscanf(fp,"%d",&k);
int v[n];
for(i=0;i<n;i++)
fscanf(fp,"%d",&v[i]);
fclose(fp);
poz_start=poz_start_max=0;
poz_end=poz_end_max=k;
int min=cmin(v,poz_start,poz_end);
i=k;
while(i<n){
if(v[i]>min){
min=v[i];
++poz_start;
++poz_end;
poz_start_max=poz_start;
poz_end_max=poz_end;
}
else if(v[i]==min){
poz_end++;
poz_end_max=poz_end;
}
else
if(i<n-k){
poz_start=i+1;
poz_end=i+k;
pseudomin=4;
if(pseudomin>min){
poz_start_max=poz_start;
poz_end_max=poz_end;
min=pseudomin;
}
i+=k;
}
++i;
}
if((fp=fopen("secventa.out","w"))==NULL)
return 1;
fprintf(fp,"%d",poz_start_max+1);
fprintf(fp,"%d",poz_end_max+1);
fprintf(fp,"%d",min);
fclose(fp);
return 0;
}