Pagini recente » Cod sursa (job #3275954) | Cod sursa (job #417212) | Cod sursa (job #1563960) | Cod sursa (job #2811223) | Cod sursa (job #3240893)
#include <fstream>
#include <deque>
#define lmax 500009
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int N,K,i,v[lmax],st,dr,r;
deque <int>d(lmax);
int main()
{
fin>>N>>K;
for(i=1; i<=N; i++)
{
fin>>v[i];
}
r=-2000000009;
for(i=1; i<=N; i++)
{
while(!d.empty() && i-d.back()>=K)
{
d.pop_back();
}
while(!d.empty() && v[d.front()]>=v[i])
{
d.pop_front();
}
d.push_front(i);
if(i>=K && v[d.back()]>r)
{
r=v[d.back()];
st=i-K+1;
dr=i;
}
}
fout<< st << " " << dr << " " << r;
return 0;
}