Cod sursa(job #726120)

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