Pagini recente » Cod sursa (job #1144211) | Cod sursa (job #1128370) | Cod sursa (job #636110) | Cod sursa (job #1630852) | Cod sursa (job #812751)
Cod sursa(job #812751)
#include <fstream>
#include <deque>
using namespace std;
ifstream fi("secventa.in");
ofstream fo("secventa.out");
int N,K,i;
int X[500001];
deque <int> D;
deque <int> :: iterator it;
int st,dr;
int rez;
int main()
{
fi>>N>>K;
for (i=1;i<=N;i++)
fi>>X[i];
rez=-100000;
for (i=1;i<=N;i++)
{
while (!D.empty() && i-D.front()>=K)
D.pop_front();
while (!D.empty() && X[D.back()]>=X[i])
D.pop_back();
D.push_back(i);
if (X[D.front()]>rez)
{
rez=X[D.front()];
st=D.front();
dr=D.back();
}
}
fo<<st<<" "<<dr<<" "<<rez<<'\n';
fi.close();
fo.close();
return 0;
}