Pagini recente » Cod sursa (job #2391357) | Cod sursa (job #2083562) | Cod sursa (job #3194130) | Cod sursa (job #2052475) | Cod sursa (job #1803736)
#include <iostream>
#include <cstdio>
#include <deque>
#define NMAX 500005
using namespace std;
int a[NMAX], n, k, maxi, stop;
deque<int> D;
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d %d\n", &n, &k);
for(int i = 1; i <= n; i++)
scanf("%d", &a[i]);
for(int i = 1; i <= n; i++)
{
while(!D.empty() && a[i] <= a[D.back()])
D.pop_back();
if(!D.empty() && i >= D.front() + k)
D.pop_front();
D.push_back(i);
if(i >= k)
if(a[D.front()] > a[maxi])
{
maxi = D.front();
stop = i;
}
}
printf("%d %d %d", stop - k + 1, stop, a[maxi]);
return 0;
}