Pagini recente » Cod sursa (job #2831562) | Cod sursa (job #75119) | Cod sursa (job #1309706) | Cod sursa (job #2211181) | Cod sursa (job #547522)
Cod sursa(job #547522)
#include <stdio.h>
int q[500001],p[500001],s[500001],l=1,r,i,ind,n,k,x,max;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&k);
for (i=1;i<=k;++i)
{
scanf("%d",&x);
while ((x<q[r])&&(r>0)) --r;
++r;
q[r]=x;
p[r]=i;
}
max=q[1];ind=k;
for (i=k+1;i<=n;++i)
{
scanf("%d",&x);
while ((x<q[r])&&(r>=l)) --r;
++r;
q[r]=x;
p[r]=i;
if (p[l]<=i-k) ++l;
if (q[l]>max) {max=q[l];ind=i;}
}
printf("%d %d %d",ind-k+1,ind,max);
return 0;
}