Pagini recente » Cod sursa (job #1573230) | Cod sursa (job #17937) | Cod sursa (job #2912224) | Cod sursa (job #1189657) | Cod sursa (job #865340)
Cod sursa(job #865340)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k,i,deque[500005],v[500005];
int front=1,back,maximul=-999999,st,dr;
int main ()
{
f>>n>>k;
for (i=1;i<=n;i++)
f>>v[i];
for (i=1;i<=n;i++)
{
while (front<=back && v[i]<=v[deque[back]])
back--;
deque[++back]=i;
if (deque[front]==i-k)
front++;
if (i>=k)
{
if (v[deque[front]]>maximul)
{
maximul=v[deque[front]];
st=deque[front];
dr=deque[back];
}
}
}
g<<st<<" "<<dr<<" "<<maximul;
}