Cod sursa(job #2312700)

Utilizator ivddabDabelea Ioana-Viviana ivddab Data 5 ianuarie 2019 13:14:31
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#define NM 500003
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int i,n,k,fr,bk,max1,in,sf,j;
int a[NM],dq[NM];
int main()
{
    f>>n>>k;
    for(i=1;i<=n;i++) f>>a[i];
    fr=1; bk=0; max1=-30003;
    for(i=1;i<=n;i++){
        while(fr<=bk&&a[i]<=a[dq[bk]]) bk--;
        dq[++bk]=i;
        j=1;
        while(i-dq[j]+1>=k&&j<=bk) {
            if(max1<a[dq[j]]) { max1=a[dq[j]]; in=dq[j]; sf=i; }
              else
            if(max1==a[dq[j]]){
               if(in>dq[j]) { in=dq[j]; sf=i; }
                 else
               if(in==dq[j]&&sf>i)  sf=i;
              }
            j++;
        }
    }
    g<<in<<' '<<sf<<' '<<max1<<'\n';
    return 0;
}