Cod sursa(job #2508857)

Utilizator daniel.vbVasile Daniel daniel.vb Data 13 decembrie 2019 10:25:18
Problema Secventa Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>

struct el{
  int i;
  int x;
  };




int main()
{
    int bcrt,jcrt,kcrt,bm,jm,km,i,x,p,u,n,k;
    el a[500001];

    FILE *f,*g;

    f=fopen("secventa.in","r");
    g=fopen("secventa.out","w");

    fscanf(f,"%d%d",&n,&k);

    bm=-30001;
    p=1;u=0;
    for(i=1;i<=n;i++)
    {
        fscanf(f,"%d",&x);
        while(u>=p && a[u].x>x)
            u--;
        u++;a[u].x=x;a[u].i=i;

        if(i>=k && a[p].x>bm)
        {
            bm=a[p].x; jm=i-k+1;km=i;
        }
        if(i-a[p].i+1>=k)
            p++;
    }
    fprintf(g,"%d %d %d",jm,km,bm);
    fclose(g);
}