Cod sursa(job #2429698)

Utilizator rd211Dinucu David rd211 Data 10 iunie 2019 21:08:24
Problema Secventa Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int A[5000010];
deque<int> Deque;

int main()
{
    int n,k,maxim = -2000000000,start;
    fin>>n>>k;
    for(int i = 1; i<=n; i++)
    {
        fin>>A[i];
        while(Deque.size() && A[Deque.back()] > A[i])
            Deque.pop_back();
        Deque.push_back(i);
        if(Deque.front()==i-k)
            Deque.pop_front();
        if(i>=k && A[Deque.front()]>maxim)
        {
            maxim = A[Deque.front()];
            start = i;
        }
    }
    fout<<start-k+1<<' '<<start<<' '<<maxim;
    return 0;
}