Pagini recente » Cod sursa (job #2903475) | Cod sursa (job #2578245) | Cod sursa (job #2681100) | Cod sursa (job #790197) | Cod sursa (job #181016)
Cod sursa(job #181016)
#include <fstream>
#include <deque>
#define MAX 500001
using namespace std;
int n, k;
deque<int> q;
int poz[MAX];
int main()
{
int i, sol = -32000, mini, x;
ifstream fin("secventa.in");
fin >> n >> k;
for (i = 1; i <= n; i++)
{
fin >> x;
while (!q.empty() && q.back() >= x) q.pop_back();
q.push_back(x);
poz[q.back()] = i;
while (!q.empty() && i-poz[q.front()] >= k) q.pop_front();
if (i >= k && sol < q.front())
{
sol = q.front();
mini = poz[q.front()];
}
}
fin.close();
ofstream fout("secventa.out");
fout << mini << " " << mini+k-1 << " " << sol;
fout.close();
return 0;
}