Cod sursa(job #2680265)

Utilizator gargantuanRares Oprea gargantuan Data 3 decembrie 2020 08:15:23
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream cin("secventa.in");
ofstream cout("secventa.out");

deque < long long > d;
deque < long long > poz;

const int nmax=-30002;
int v[600005];
int main()
{
    long long n,k,i,maxim=-30002,ind1,ind2;
    cin>>n>>k;
    for(i=1; i<=n; i++)
    {
        cin>>v[i];
        while(v[i]<=d.front()&&d.size()>0)
        {
            d.pop_front();
            poz.pop_front();
        }
        d.push_front(v[i]);
        poz.push_front(i);
        if(i>=k)
         if(v[poz.back()]>maxim)
        {
            maxim=d.back();
            ind1=i-k+1;
            ind2=i;
        }
        if(poz.back()==i-k+1)
        {
            d.pop_back();
            poz.pop_back();
        }
    }
    cout<<ind1<<" "<<ind2<<" "<<maxim;
    return 0;
}