Pagini recente » Cod sursa (job #559973) | Cod sursa (job #719332) | Cod sursa (job #985357) | Cod sursa (job #2269646) | Cod sursa (job #2701985)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
int n , k , a[500001];
deque <int> q;
int p , M;
int main()
{
int i , x;
fin >> n >> k;
for (i = 1;i <= n;i++)
fin >> a[i];
for (i = 1;i <= k;i++)
{
x = a[i];
while (!q.empty() && a[q.back()] >= x)
q.pop_back();
q.push_back(i);
}
M = a[q.front()];
p = i;
for (i = k + 1;i <= n;i++)
{
x = a[i];
while (!q.empty() && a[q.back()] >= x)
q.pop_back();
q.push_back(i);
if (i - q.front() == k) q.pop_front();
if (M < a[q.front()])
{
M = a[q.front()];
p = i;
}
}
fout << p - k + 1 << " " << p << " " << M;
return 0;
}