Cod sursa(job #2938443)

Utilizator Luca_georgescuLucageorgescu Luca_georgescu Data 12 noiembrie 2022 09:14:28
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda cnilc1_2-dq Marime 0.71 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++ ) {
        if ( !dq.empty() && dq.front()==i-k )
            dq.pop_front();
        while ( !dq.empty() && a[dq.back()]>a[i] )
            dq.pop_back();
        dq.push_back(i);
        if ( i>=k )
          {
            if ( a[dq.front()]>bz )
            {
                bz=a[dq.front()];
                in=i-k+1;
                fi=i;
            }
        }
    }
    g << in << " " << fi << " " << bz;
    return 0;
}