Pagini recente » Cod sursa (job #1224115) | Cod sursa (job #1163205) | Cod sursa (job #1707837) | Cod sursa (job #430525) | Cod sursa (job #1503671)
#include<fstream>
#include<deque>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
deque<int> d, v;
int N, K;
int main()
{
in >> N >> K;
int e,l,min=1<<31,left=0,right=0;
for (int i = 1;i <= N;++i)
{
in >> e;
l = d.size();
while (l && e < d.back())
{
d.pop_back();
v.pop_back();
--l;
}
d.push_back(e);
v.push_back(i);
if (i >= K)
{
if (d.front() > min)
{
min=d.front();
left = i-K+1;
right =i ;
}
if (v.front() == i-K+1)
{
d.pop_front();
v.pop_front();
}
}
}
out << left << " " << right<<" "<<min;
return 0;
}