Pagini recente » Cod sursa (job #1662049) | Cod sursa (job #2171887) | Cod sursa (job #2020242) | Cod sursa (job #1912427) | Cod sursa (job #726121)
Cod sursa(job #726121)
#include <cstdio>
#include <cstring>
#include <cstdlib>
#define N 500005
using namespace std;
int a[N],deque[N],n,k;
char sir[N*7],*p;
int main()
{ int poz,max,li,lf,i;
freopen("secventa.in","r",stdin); scanf("%d %d\n",&n,&k);
gets(sir); p=strtok(sir," ");
poz=0; max=-N;
li=1; lf=0; i=0;
while(p)
{
a[++i]=strtol(p,NULL,10);
while(li<=lf&&a[i]<=a[deque[lf]])--lf;
deque[++lf]=i;
if(deque[li]==i-k)++li;
if(i>=k&&a[deque[li]]>max)
{
max=a[deque[li]];
poz=i-k+1;
}
p=strtok(NULL," ");
}
fclose(stdin);
freopen("secventa.out","w",stdout); printf("%d %d %d",poz,poz+k-1,max);
return 0;
}