Pagini recente » Cod sursa (job #1181130) | Cod sursa (job #1625556) | Cod sursa (job #2053951) | Cod sursa (job #140128) | Cod sursa (job #2449693)
#include <bits/stdc++.h>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int n, k, st, dr, rez = INT_MIN;
int v[500001];
deque <pair <int, int>> dq;
int main()
{
in >> n >> k;
for (int i = 1; i <= n; ++i)
{
in >> v[i];
while (!dq.empty() && v[i] <= dq.back().first)
dq.pop_back();
dq.push_back({v[i], i});
if (dq.front().second == i - k)
dq.pop_front();
if (i >= k && rez < dq.front().first)
{
rez = dq.front().first;
st = i - k + 1;
dr = i;
}
}
return out << st << " " << dr << " " << rez, 0;
}