Pagini recente » Cod sursa (job #1812958) | Cod sursa (job #1704170) | Cod sursa (job #2690556) | Cod sursa (job #232154) | Cod sursa (job #716420)
Cod sursa(job #716420)
#include<cstdio>
using namespace std;
long x[500001];
long q[500001];
int main () {
long n,k,i,u,p,max=-1,inceput,sfarsit;
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%ld%ld",&n,&k);
for (i=1;i<=n;i++)
scanf("%ld",&x[i]);
u=0;
p=1;
for (i=1;i<=n;i++) {
while (p<=u && x[q[u]]>=x[i])
u--;
q[++u]=i;
if (i-q[p]==k)
p++;
if (i>=k)
if (max<x[q[p]]) {
max=x[q[p]];
inceput=q[u]-k+1;
sfarsit=q[u];
}
}
printf("%ld %ld %ld",inceput,sfarsit,max);
return 0;
}