Pagini recente » Cod sursa (job #1333832) | Cod sursa (job #2561932) | Cod sursa (job #408377) | Cod sursa (job #71818) | Cod sursa (job #263619)
Cod sursa(job #263619)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char s[3000001];
int n,k,i,a[500001],p[500001],st,dr,s,m;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d\n",&n,&k);
st=1;dr=0;
s=-MAXLONG;
gets(s);
a[1]=atoi(strtok(s," \n"));
for(i=2;i<=n;i++)
a[i]=atoi(strtok(NULL," \n"));
p[1]=1;
dr=1;
for(i=2;i<=n;i++)
{
while(a[p[dr]]>a[i]&&dr>=st)
dr--;
p[++dr]=i;
if(i>=k)
{
if(p[st]<=i-k)
st++;
if(a[p[st]]>s)
{
s=a[p[st]];
m=i;
}
}
}
printf("%d %d %d\n",m-k+1,m,s);
return 0;
}