Cod sursa(job #2359064)

Utilizator CleliaClelia Maria Dobrescu Clelia Data 28 februarie 2019 16:27:40
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
deque <int> d;
int v[500005];
int main(){
    int n,k,i,maxi=-30001,poz;
    fin>>n>>k;
    v[0]=v[n+1]=-30001;
    for (i=1;i<=n;i++){
        fin>>v[i];
        while (!d.empty() && d.front()<i-k+1)
            d.pop_front();
        while (!d.empty() && v[d.back()]>v[i])
            d.pop_back();
        d.push_back(i);
        if (i>=k)
            if (v[d.front()]>maxi){
                maxi=v[d.front()];
                poz=d.front();
            }
    }
    i=poz;
    while (v[i]>=maxi)
        i--;
    i++;
    fout<<i<<" "<<i+k-1<<" "<<maxi;
    return 0;
}