Pagini recente » Cod sursa (job #2524885) | Cod sursa (job #2413537) | Cod sursa (job #3141451) | Cod sursa (job #195462) | Cod sursa (job #333158)
Cod sursa(job #333158)
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *f,*g;
int n,k,i,a[500000];
int start,end,Q[1000],poz=0,max=-9999999;
f=fopen("secventa.in","r");
g=fopen("secventa.out","w");
fscanf(f,"%d %d\n",&n,&k);
for(i=1;i<=n;i++)
fscanf(f,"%d",&a[i]);
start=1;
end=0;
for(i=1;i<=n;i++)
{
if(start<=end && Q[start]<=i-k) start++;
while(start<=end && a[Q[end]]>a[i]) end--;
Q[++end]=i;
if(a[Q[start]]>max && i>=k)
{
max=a[Q[start]];
poz=i;
}
}
fprintf(g,"%d %d %d\n",poz-k+1,poz,max);
fclose(f);
fclose(g);
return 0;
}