Pagini recente » Cod sursa (job #2512873) | Cod sursa (job #445509) | Cod sursa (job #139398) | Cod sursa (job #2985820) | Cod sursa (job #1506172)
#include <fstream>
#include <deque>
using namespace std;
int a[500001];
deque<int> D;
int main()
{
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int N,K;
fin >> N >> K;
for (int i = 1; i <= N; i++)
fin >> a[i];
int best = -30001,from = 0;
for (int i = 1; i <= N; i++)
{
while (!D.empty() && i - D.front() + 1 > K)
D.pop_front();
while (!D.empty() && a[D.back()] > a[i])
D.pop_back();
D.push_back(i);
if (i >= K && a[D.front()] > best)
{
best = a[D.front()];
from = i;
}
}
fout << from - K + 1 << " " << from << " " << best;
}