Pagini recente » Cod sursa (job #1758670) | Cod sursa (job #1689637) | Cod sursa (job #918912) | Cod sursa (job #527110) | Cod sursa (job #1149470)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
int valoare[500001];
int main()
{
ifstream intrare("secventa.in");
ofstream iesire("secventa.out");
deque<int> coada;
int n,i,k,minim=-31001,r;
intrare>>n;
intrare>>k;
for (i=1;i<=n;i++)
{
intrare>>valoare[i];
while (!coada.empty() && valoare[coada.back()]>valoare[i]){coada.pop_back();}
coada.push_back(i);
if (coada.front()<=i-k){coada.pop_front();}
if (i>=k&&coada.front()>minim){minim=valoare[coada.front()];r=i;}
}
iesire<<r-k+1<<" "<<r<<" "<<minim<"\n";
}