Cod sursa(job #2576866)

Utilizator Wister1043Silaghi Razvan-Andrei Wister1043 Data 7 martie 2020 01:21:15
Problema Secventa Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

ifstream fin("secventa.in");
ofstream fout("secventa.out");

int x[500001];
std::deque<int>d;

int main()
{
    int n,k,max=-100000000,maxpi=0,maxpf=0;
    fin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        fin>>x[i];
        while(!d.empty() && x[i]<x[d.back()])
        {
            d.pop_back();
        }
        if(i-d.front()+1>k)
        {
            d.pop_front();
        }
        d.push_back(i);
        if(i >= k && x[d.front()]>max)
        {
            max=x[d.front()];
            maxpf=i;
            maxpi=maxpf-k+1;
        }
    }
    fout<<maxpi<<" "<<maxpf<<" "<<max;
    return 0;
}