Cod sursa(job #2446736)

Utilizator patrickdanDan patrick patrickdan Data 10 august 2019 16:58:25
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 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(i>=k && v[d[st]]>max1)
        {
            max1=v[d[st]];
            poz=i;
        }
    }
    printf("%d %d %d",poz-k+1,poz,max1);
    return 0;
}