Pagini recente » Cod sursa (job #1632214) | Cod sursa (job #2077480) | Cod sursa (job #3274440) | Cod sursa (job #677040) | Cod sursa (job #1796610)
#include <cstdio>
#include <deque>
using namespace std;
deque <int> dq;
short int v[500005];
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
int n, k, dr;
short int ans = -30002;
scanf("%d %d", &n, &k);
for (int i = 1; i <= n; ++i)
{
scanf("%hd", &v[i]);
if (!dq.empty() && dq.front() + k <= i)
dq.pop_front();
while (!dq.empty() && v[i] < v[dq.back()])
dq.pop_back();
dq.push_back(i);
if (i >= k && v[dq.front()] > ans)
{
ans = v[dq.front()];
dr = i;
}
}
printf("%d %d %hd\n", dr - k + 1, dr, ans);
return 0;
}