Cod sursa(job #2426516)

Utilizator SochuDarabaneanu Liviu Eugen Sochu Data 28 mai 2019 14:58:57
Problema Secventa Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>
#define NMAX 500005

using namespace std;

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

int n , k;
short x;
vector < short > a;
deque < short > d;

int main()
{
    int inc = 0 , sf = 0 , baza = -NMAX , i;
    a.push_back(0);

    f >> n >> k;

    for(i=1;i<=n;i++)
    {
        f >> x;
        a.push_back(x);
    }    //f >> a[i];


    d.push_front(1);

    for(i=1;i<=n;i++)
    {
        while(d.empty() == false && a[i] <= a[d.back()])
            d.pop_back();

        d.push_back(i);

        if(d.front() == i - k)
            d.pop_front();

        if(i >= k)
        {
            if(a[d.front()] > baza)
            {
                baza = a[d.front()];

                inc = i - k + 1;

                sf = i;
            }
        }
    }

    g << inc << ' ' << sf << ' ' << baza;

  //  cout <<sizeof(a);
    return 0;
}