Cod sursa(job #2477996)

Utilizator TrolliciousSir Troll Trollicious Data 21 octombrie 2019 14:29:17
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;

ifstream f("secventa.in");
ofstream g("secventa.out");

int n,k;
int v[500010];
int maxim=-30001,start,finish;
deque <int> oof;

void cit()
{
    f>>n>>k;
    int i;
}

void aflu(int i)
{
    if(i<=n)
    {
        f>>v[i];
        while(!oof.empty()&&v[i]<=v[oof.front()])
            oof.pop_front();
        oof.push_front(i);
        if(i-oof.back()>=k) oof.pop_back();
        if(i>=k&&v[oof.back()]>maxim)
        {
            maxim=v[oof.back()
                   ];
            start=i-k+1;
            finish=i;

        }
        aflu(i+1);
    }
}

void afis()
{
    g<<start<<" "<<finish<<" "<<maxim;
}

int main()
{
    cit();
    aflu(1);
    afis();
    return 0;
}