Cod sursa(job #2054083)

Utilizator Andrei_CotorAndrei Cotor Andrei_Cotor Data 1 noiembrie 2017 18:15:35
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
#include<deque>
using namespace std;
ifstream fi("secventa.in");
ofstream fo("secventa.out");
int n,k,i,A[500001],rez,poz;
deque<int> Q;
int main()
{
    fi>>n>>k;
    rez=-30000000;
    for(i=1; i<=n; i++)
    {
        fi>>A[i];
        while(!Q.empty() && i-Q.front()+1>k)
            Q.pop_front();
        while(!Q.empty() && A[Q.front()]>A[i])
            Q.pop_back();
        Q.push_back(i);
        if(i>=k)
        {
            if(rez<A[Q.front()])
            {
                rez=A[Q.front()];
                poz=i;
            }
        }
    }
    fo<<poz-k+1<<" "<<poz<<" "<<rez<<"\n";
    fi.close();
    fo.close();
    return 0;
}