Pagini recente » Cod sursa (job #1796967) | Cod sursa (job #615211) | Cod sursa (job #1733659) | Cod sursa (job #2360917) | Cod sursa (job #43830)
Cod sursa(job #43830)
#include<stdio.h>
#include<values.h>
int main()
{long a[500],q[500],rez,n,k,i,st,dr,poz;
FILE*f=fopen("secventa.in","r");
FILE*g=fopen("secventa.out","w");
fscanf(f,"%ld %ld",&n,&k);
for (i=1;i<=n;i++) fscanf(f,"%ld",&a[i]);
rez=-MAXINT;
st=1;dr=0;
for (i=1;i<k;i++)
{
while(dr>=st&&a[i]<=a[q[dr]]) dr--;
dr++;
q[dr]=i;}
for (i=k;i<=n;i++)
{
while(st<=dr&&a[i]<=a[q[dr]]) dr--;
dr++;
q[dr]=i;
while(st<=dr&&q[st]<i-k+1) st++;
if (a[q[st]]>rez) {rez=a[q[st]]; poz=i;}}
fprintf(g,"%ld %ld %ld",poz-k+1,poz,rez);
fclose(f);
fclose(g);
return 0;}