Pagini recente » Cod sursa (job #2179277) | Cod sursa (job #2804817) | Cod sursa (job #1295902) | Cod sursa (job #940734) | Cod sursa (job #251436)
Cod sursa(job #251436)
#include<stdio.h>
const int N=500001;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
int v[N],deque[N],start,end,n,k;
int i,f,cf=1,l,max=0;
scanf("%d%d",&n,&k);
for(i=1;i<=n;++i)
scanf("%d",&v[i]);
start=1;
end=0;
for(i=1;i<=n;++i)
{
while(start<=end&&v[deque[end]]>=v[i]) --end;
deque[++end]=i;
if(deque[start]==i-k) ++start;
if(v[deque[start]]>max&&i>=k)
{
max=v[deque[start]];
f=deque[start];
l=i;
}
}
while(f>0&&v[f]>=max) --f;
printf("%d %d %d\n",f+1,l,max);
return 0;
}