Pagini recente » Cod sursa (job #1419080) | Cod sursa (job #1229473) | Cod sursa (job #735830) | Cod sursa (job #2147633) | Cod sursa (job #1626287)
#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 && i - Q[st] + 1 > k ) st++;
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;
}