Pagini recente » Cod sursa (job #1355881) | Cod sursa (job #373968) | Cod sursa (job #3131041) | Cod sursa (job #1687667) | Cod sursa (job #198612)
Cod sursa(job #198612)
#include <stdio.h>
#define MAXN 500000
long n,k,b,e,max,maxh,i,j;
int v[MAXN],s[MAXN];
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
b=1;e=0;
scanf("%ld %ld\n",&n,&k);
for(i=1;i<=n;++i) scanf("%ld ",&v[i]);
for (i=1;i<=k;++i)
{
for(j=e;(j>=b) && (v[j]>v[i]);--j);
e=j+1;
s[e]=v[i];
}
max=s[b];maxh=1;
for (i=k+1;i<=n;++i)
{
if(v[i-k] == s[b]) b++;
for(j=e;(j>=b) && (v[j]>v[i]);--j);
e=j+1;
s[e]=v[i];
if(s[b] > max) max=s[b],maxh=i-k+1;
}
printf("%ld %ld %ld\n",maxh,maxh+k-1,max);
return 0;
}