Pagini recente » Cod sursa (job #127005) | Cod sursa (job #660089) | Cod sursa (job #355131) | Cod sursa (job #2024268) | Cod sursa (job #1991130)
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
deque <pair <int, int> > D;
int main()
{
int i;
int n, k, maxim =-2e9, b, e;
long long s = 0;
pair <int, int> x;
ifstream in ("secventa.in");
ofstream out ("secventa.out");
in>>n>>k;
for(i=1;i<=n;++i)
{
x.first = i;
in>>x.second;
if(!D.empty() && D.front().first <= i-k)
D.pop_front();
while (!D.empty() && D.back().second >= x.second)
{
D.pop_back();
}
D.push_back(x);
if(i>=k)
{
if(D.front().second > maxim)
{
maxim = D.front().second;
e=i;
b=e-k+1;
}
}
}
out<<b<<" "<<e<<" "<<maxim;
}