Pagini recente » Cod sursa (job #1777327) | Borderou de evaluare (job #2553204) | Cod sursa (job #1138139) | Monitorul de evaluare | Cod sursa (job #334376)
Cod sursa(job #334376)
#include<stdio.h>
int main()
{
int coada[500],i,n,k,x[500],tail,head,max=-30001,pozmax;
FILE *f=fopen("secventa.in","r");
fscanf(f,"%i%i",&n,&k);
for(i=0;i<n;i++)
fscanf(f,"%i",x+i);
fclose(f);
tail=0;
head=0;
coada[0]=0;
for(i=0;i<n;i++)
{
while(tail<=head && x[i]<x[coada[head]])
head--;
coada[head++]=i;
if(i-k+1>coada[tail])
tail++;
if(i+1>=k)
{
if(x[coada[tail]]>max)
{
max=x[coada[tail]];
pozmax=i;
}
}
}
f=fopen("secventa.out","w");
fprintf(f,"%i %i %i\n",pozmax+2-k,pozmax+1,max);
fclose(f);
return 0;
}