Cod sursa(job #985001)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 16 august 2013 02:59:40
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>
int nmax,n,k,i,j,nr,p,u,in,fin,v[500001],x[500001];
FILE *f,*g;
int main(){
    f=fopen("secventa.in","r");
    g=fopen("secventa.out","w");
    fscanf(f,"%d%d",&n,&k);
    for(i=1;i<=n;i++){
        fscanf(f,"%d",&v[i]);
    }
    p=1;
    u=0;
    nmax=-30001;
    for(i=1;i<=n;i++){
        while(v[u]<v[x[u]] && u>=p)
            u--;
        x[++u]=i;
        if(i>=k){
            if(i-p==k)
                p++;
            if(v[x[p]]>nmax){
                nmax=v[x[p]];
                in=p;
                fin=u;
            }
        }
    }
    fprintf(g,"%d %d %d",in,fin,nmax);
    fclose(f);
    fclose(g);
    return 0;
}