Pagini recente » Cod sursa (job #214077) | Cod sursa (job #2485238) | Cod sursa (job #1159554) | Cod sursa (job #1628074) | Cod sursa (job #321854)
Cod sursa(job #321854)
#include <stdio.h>
#define Nmax 500005
#define INF -32000
long a[Nmax],deq[Nmax],poz[Nmax];
long i,j,n,min=INF,k,z,nd,st,dr;
int main(){
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%ld%ld",&n,&k);
for(i=1;i<=n;++i) scanf("%ld",&a[i]);
z=1;
for(i=1;i<=n;++i){
if(a[i]>=deq[nd]) deq[++nd]=a[i],poz[nd]=i;
else{
while(a[i]<deq[nd] && nd>z) nd--;
deq[++nd]=a[i];
poz[nd]=i;
}
while(poz[z] < i-k+1) z++;
if(deq[z]>min && i>=k){
min=deq[z];
dr=i;
st=dr-k+1;
}
}
printf("%ld %ld %ld",st,dr,min);
fclose(stdin); fclose(stdout);
return 0;
}