Pagini recente » Cod sursa (job #807355) | Cod sursa (job #856334) | Cod sursa (job #875036) | Cod sursa (job #1933266) | Cod sursa (job #2937130)
#include <bits/stdc++.h>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int main()
{
int n, k;
in >> n >> k;
deque<pair<int, int>> window;
for (int i = 0; i < k - 1; i++)
{
int nr;
in >> nr;
while (!window.empty() && window.back().first >= nr)
window.pop_back();
window.push_back({nr, i});
}
int maxx = INT_MIN;
int res = 0;
for (int i = k - 1; i < n; i++)
{
int nr;
in >> nr;
if (!window.empty() && window.front().second == i - k)
window.pop_front();
while (!window.empty() && window.back().first >= nr)
window.pop_back();
window.push_back({nr, i});
nr = window.front().first;
if (nr > maxx)
{
res = i;
maxx = nr;
}
}
out << res - k + 2 << ' ' << res + 1 << ' ' << maxx;
}