Cod sursa(job #2647863)

Utilizator Tudor_IIliescu Andrei-Tudor Tudor_I Data 6 septembrie 2020 20:01:48
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k,dq[500100],a[500100],dr,st,maxi;
int main()
{
    f>>n>>k;
    for(int i=1;i<=n;i++) f>>a[i];
    for(int i=1;i<=n;i++)
    {   while(dr>=st&&a[i]<a[dq[dr]]) dr--;
        dq[++dr]=i;
        if(dq[st]<=i-k) st++;
        if(i>=k&&a[dq[st]]>maxi)
        {   maxi=a[dq[st]];
            dr=i;
            st=i-k+1;
        }
    }
    g<<st<<' '<<dr<<' '<<maxi;
    return 0;
}