Cod sursa(job #3250488)

Utilizator MilitaruMihai2022Millitaru Mihai MilitaruMihai2022 Data 21 octombrie 2024 12:21:09
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

const int NMAX=5000010;

int n,k,vec[NMAX],st,dr,maxi=INT_MIN;
deque <int> d;

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

int main()
{
    f>>n>>k;
    for(int i=1; i<=n; i++)
        f>>vec[i];
    for(int i=1; i<=n; i++)
    {
        if(!d.empty() && d.front()==i-k)
            d.pop_front();
        while(!d.empty() && vec[d.back()]>vec[i])
            d.pop_back();
        d.push_back(i);
        if(!d.empty() && i>=k && vec[d.front()]>maxi)
        {
            maxi=vec[d.front()];
            st=i-k+1;
            dr=i;
        }
    }
    g<<st<<' '<<dr<<' '<<maxi;
    return 0;
}