Pagini recente » Cod sursa (job #1135648) | Cod sursa (job #2021633) | Cod sursa (job #173821) | Cod sursa (job #2415340) | Cod sursa (job #797756)
Cod sursa(job #797756)
#include <cstdio>
const int d=500001;
int v[d],deq[d];
int main()
{
int n=0,k=0,d1=1,d2=1,i=0,b=-d,s=1,f=0;
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&k);
f=k;
deq[1]=1;
for (i=1; i<n+1; ++i)
scanf("%d",&v[i]);
for (i=2; i<k; i++)
{
while (v[deq[d1]]>=v[i] && d1>0)
--d1;
++d1;
deq[d1]=i;
}
for(i=k; i<n+1; i++)
{
while (v[deq[d1]]>=v[i] && d1>=d2)
--d1;
++d1;
deq[d1]=i;
if (v[deq[d2]]>b)
{
b=v[deq[d2]];
s=i-k+1;
f=i;
}
if (deq[d2]<i-k+2)
d2++;
}
printf("%d %d %d\n",s,f,b);
return 0;
}