Pagini recente » Cod sursa (job #919619) | Cod sursa (job #1344082) | Cod sursa (job #2070955) | Cod sursa (job #735538) | Cod sursa (job #1626295)
#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 && v[Q[dr]] > v[i] ) dr--;
dr++;
Q[dr] = i;
while( st <= dr && Q[st] < i - k + 1 ) st++;
if( i >= k && v[Q[st]] > ma ){
ma = v[Q[st]];
begi = i - k + 1;
endi = i;
}
}
printf("%d %d %d",begi,endi,ma);
return 0;
}