Cod sursa(job #2446735)

Utilizator patrickdanDan patrick patrickdan Data 10 august 2019 16:54:25
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>

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