Pagini recente » Cod sursa (job #3340307) | Monitorul de evaluare | Cod sursa (job #754696) | Monitorul de evaluare | Cod sursa (job #3324903)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
const int nmax = 1e5 + 5;
int n, k, v[nmax];
priority_queue <pair <int, int>, vector <pair <int, int>>, greater <pair <int, int>>> pq;
signed main ()
{
fin >> n >> k;
for (int i = 1; i <= n; i++)
fin >> v[i];
int rez = INT_MIN, st = 0, dr = 0;
for (int i = 1; i <= n; i++)
{
pq.push ({v[i], i});
if (i >= k)
{
while (!pq.empty () && pq.top ().second < i - k + 1)
pq.pop ();
if (!pq.empty () && pq.top ().first > rez)
{
rez = pq.top ().first;
st = i - k + 1;
dr = i;
}
}
}
fout << st << " " << dr << " " << rez;
return 0;
}