Cod sursa(job #726119)

Utilizator ioalexno1Alexandru Bunget ioalexno1 Data 27 martie 2012 00:34:21
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
#define N 500005
using namespace std;
int a[N],deque[N],n,k;
int main()
{ int l,r,max,li,lf,i;
freopen("secventa.in","r",stdin); scanf("%d %d\n",&n,&k);
l=r=0; max=-N;
li=1; lf=0;
for(i=1;i<=n;++i)
    {
    scanf("%d ",&a[i]);
    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]];
                l=deque[li]; r=deque[lf];
                }
    }
fclose(stdin);
freopen("secventa.out","w",stdout); printf("%d %d %d",l,r,max);
return 0;
}