Pagini recente » Cod sursa (job #455069) | Cod sursa (job #251644) | Cod sursa (job #272488) | Cod sursa (job #606057) | Cod sursa (job #2210066)
#include <fstream>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int v[500005],n,i,que[2*500005],k,sol=-300001,poss=300001,posd=300001;
int main()
{
cin>>n>>k;
for(i=1;i<=n;i++)
cin>>v[i];
int st=500001,dr=500000;
for(i=1;i<=n;i++)
{
while(st<=dr && i-que[st]+1>k)
st++;
while(st<=dr&&v[i]<v[que[dr]])
dr--;
que[++dr]=i;
if(sol<v[que[st]])
{
sol=v[que[st]];
poss=que[st];
posd=i;
}
else if(sol==v[que[st]])
{
if(poss>que[st])
{
poss=que[st];
posd=i;
}
else if(poss==que[st])
{
if(posd<i)
posd=i;
}
}
}
cout<<poss<<" "<<posd<<" "<<sol;
return 0;
}