Cod sursa(job #1714929)

Utilizator TibiraducanuTiberiu Raducanu Tibiraducanu Data 9 iunie 2016 19:04:52
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <deque>

using namespace std;

int v[500005];

deque <int> q;

int main()
{
    ifstream in("secventa.in");
    ofstream out("secventa.out");

    int n,k,i,maxx=0,a,b;

    in>>n>>k;

    for(i=1;i<=n;i++)
    {
        in>>v[i];

        while(!q.empty())
        {
            if(v[q.back()] > v[i] ) q.pop_back();
            else break;
        }
        q.push_back(i);

        if(q.front() < i-k+1) q.pop_front();

        if(i>=k and v[q.front()]>maxx)
        {
            maxx=v[q.front()];
            a=q.front();
            b=i;
        }
    }

    out<<a<<" "<<b<<" "<<maxx<<"\n";

    return 0;
}