Cod sursa(job #2855457)

Utilizator roman_59Roman Andrei Razvan roman_59 Data 22 februarie 2022 14:43:03
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <deque>
std::ifstream fin("secventa.in");
std::ofstream fout("secventa.out");
const int INFINIT=30001;
const int N=500001;
std::deque <int> D;
int main()
{
    std::ios::sync_with_stdio(false);
    fin.tie(0);
    fout.tie(0);
    int n, k, v[500001], maxim=-INFINIT, st, dr, i;
    fin>> n >> k;
    for(int i=1; i<=n; i++){
        fin>> v[i];
        while(!D.empty() && v[i]<= v[D.back()])
            D.pop_back();
        D.push_back(i);
        if(D.front()== i-k)
            D.pop_front();
        if(v[D.front()]>maxim && i>=k) maxim=v[D.front()], dr=i, st=i-k+1;
    }
    fout<< st << " " << dr << " " << maxim;

}