Cod sursa(job #2429388)

Utilizator rd211Dinucu David rd211 Data 9 iunie 2019 14:39:27
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int A[5000010];
deque<pair<int,int>> Deque;
int main()
{
    int n,k,maxim = -2000000000,start,stop;
    fin>>n>>k;
    for(int i = 1;i<=n;i++)
        fin>>A[i];
    for(int i = 1;i<=n;i++)
    {
        while(!Deque.empty() && Deque.back().first >= A[i]) Deque.pop_back();
        Deque.push_back(make_pair(A[i],i));
        if(Deque.front().second<=i-k) Deque.pop_front();
        if(i>=k)
        {
            if(Deque.front().first>maxim){
                maxim = Deque.front().first;
                start = i-k+1;
                stop = i;
            }
        }
    }
    fout<<start<<" "<<stop<<" "<<maxim;
    return 0;
}