Pagini recente » Cod sursa (job #2735151) | Cod sursa (job #2295967) | Cod sursa (job #2299870) | Cod sursa (job #2629189) | Cod sursa (job #874947)
Cod sursa(job #874947)
#include <cstdio>
using namespace std;
int st[100004],poz[100004];
int main()
{
int i, ul,pr,k,n,x,maxim=0,p1,p2;
freopen("secventa.in","r",stdin);
scanf("%d %d %d", &n, &k, &x);
st[1]=x;
poz[1]=1;
ul=pr=1;
for(i=2; i<=k; i++)
{
scanf("%d",&x);
while(pr<=ul && st[ul]>x)
ul--;
ul++;
st[ul]=x;
poz[ul]=i;
}
maxim=st[pr]; p1=poz[pr]; p2=poz[ul];
for(i=k+1; i<=n; i++)
{
scanf("%d",&x);
while(pr<=ul && st[ul]>x)
ul--;
ul++;
st[ul]=x;
poz[ul]=i;
if(i-poz[pr]>=k)
pr++;
if(maxim<st[pr]){ maxim=st[pr]; p1=poz[pr]; p2=poz[ul]; }
}
freopen("secventa.out","w",stdout);
printf("%d %d %d \n",p1,p2,maxim);
return 0;
}