Cod sursa(job #479074)

Utilizator crunch13sadas asdas crunch13 Data 22 august 2010 15:50:03
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
int n,k,i,j,v[500010],in=1,sf,min=-30100,sol[500010],st,dr;

int main()
{
    freopen("secventa.in","r",stdin);
    freopen("secventa.out","w",stdout);
    scanf("%d%d\n",&n,&k);
    for(i=1;i<=n;i++)
        scanf("%d",&v[i]);
    for(i=1;i<=n;i++)
    {
        while(in<=sf&&v[sol[sf]]>v[i])
            sf--;
        sol[++sf]=i;
        if(sol[in]==i-k)
            in++;
        if(i>=k)
            if(v[sol[in]]>min)
                min=v[sol[in]],st=i-k+1,dr=i;
    }
    printf("%d %d %d",st,dr,min);
    return 0;
}