Cod sursa(job #1991130)

Utilizator Y0da1NUME JMECHER Y0da1 Data 15 iunie 2017 12:37:51
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;

deque <pair <int, int> > D;

int main()
{
    int i;
    int n, k, maxim =-2e9, b, e;
    long long s = 0;
    pair <int, int> x;
    ifstream in ("secventa.in");
    ofstream out ("secventa.out");

    in>>n>>k;

    for(i=1;i<=n;++i)
    {
        x.first = i;
        in>>x.second;

        if(!D.empty() && D.front().first <= i-k)
            D.pop_front();

        while (!D.empty() && D.back().second >= x.second)
        {
            D.pop_back();
        }

        D.push_back(x);

        if(i>=k)
            {
                if(D.front().second > maxim)
                {
                    maxim = D.front().second;
                    e=i;
                    b=e-k+1;
                }
            }

    }
    out<<b<<" "<<e<<" "<<maxim;

}