Pagini recente » Cod sursa (job #2954645) | Cod sursa (job #1454865) | Cod sursa (job #1451346) | Cod sursa (job #2174129) | Cod sursa (job #1528005)
#include<iostream>
#include<fstream>
#define D 500000
using namespace std;
fstream fin("secventa.in",ios::in),fout("secventa.out",ios::out);
int n,c,maxim=-999999,pi,pf;
short x[2*D+10],a,ind[2*D+10];
int p=D+1,u=D;
int main()
{
int i,n,k,r;
fin>>n>>k;
fin>>a;
x[++u]=a;
ind[u]=1;
for(i=2;i<=n;i++)
{
fin>>a;
while(p<=u&&x[u]>=a) u--;
x[++u]=a;
ind[u]=i;
while(p<=u&&ind[u]-ind[p]+1>k) p++;
if(ind[u]-ind[p]+1>=k&&x[p]>maxim)
{
maxim=x[p];
pi=ind[p];
pf=ind[u];
}
}
fout<<pi<<" "<<pf<<" "<<maxim;
}