Pagini recente » Cod sursa (job #2493111) | Cod sursa (job #235881) | Cod sursa (job #23153) | Cod sursa (job #1431941) | Cod sursa (job #1626291)
#include <cstdio>
using namespace std;
#define DIM 500005
int v[DIM];
int Q[DIM];
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
int n, i, j, s, p, t, d, k, ma, id, st, dr, begi, endi;
scanf("%d%d",&n,&k);
for( i = 1; i <= n; ++i )
scanf("%d",&v[i]);
ma = -(1<<23);
dr = id = begi = endi = 0;
st = 1;
for( i = 1; i <= n; ++i ){
while( st <= dr && Q[st] < i - k + 1 ) st++;
while( st <= dr && v[Q[dr]] > v[i] ) dr--;
dr++;
Q[dr] = i;
if( i - Q[st] + 1 >= k && v[Q[st]] > ma ){
ma = v[Q[st]];
begi = Q[st];
endi = i;
}
}
printf("%d %d %d",begi,endi,ma);
return 0;
}