Pagini recente » Cod sursa (job #1030747) | Cod sursa (job #2649614) | Cod sursa (job #184983) | Cod sursa (job #185539) | Cod sursa (job #1775158)
#include <cstdio>
#include <deque>
using namespace std;
int v[500001];
deque<int> q;
int max_base = -99999;
int main()
{
int i, k, n, x, l, r;
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d%d", &n, &k);
scanf("%d", &x);
v[0] = x;
q.push_back(0);
for(i = 1; i < n; ++i){
scanf("%d", &v[i]);
while(!q.empty() && v[q.back()] >= v[i]){
q.pop_back();
}
q.push_back(i);
while(q.front() == i-k){
q.pop_front();
}
if(i >= k && q.front() >= i-k+1){
if(v[q.front()] > max_base){
max_base = v[q.front()];
l = i - k + 1;
r = i;
}
}
}
printf("%d %d %d", l+1, r+1, max_base);
return 0;
}