Cod sursa(job #2938447)

Utilizator Luca_georgescuLucageorgescu Luca_georgescu Data 12 noiembrie 2022 09:16:59
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda cnilc1_2-dq Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
deque<int> dq;
int a[500001];
long long n,k,in,fi,bz=-40000;
int main() {
    f >> n >> k;
    for (int i=1; i<=n; i++ )
        f >> a[i];
    for (int i=1; i<=n; i++ )
    {
        while ( !dq.empty() && a[dq.back()]>a[i] )
            dq.pop_back();
        dq.push_back(i);
        if ( i>=k )
        {
           if ( !dq.empty() && dq.front()==i-k )
             dq.pop_front();
            if ( a[dq.front()]>bz )
            {
                bz=a[dq.front()];
                in=i-k+1;
                fi=i;
            }
        }
    }
    g << in << " " << fi << " " << bz;
    return 0;
}