Cod sursa(job #3226531)

Utilizator Ics.maker09Iancu Cezar-Stefan Ics.maker09 Data 21 aprilie 2024 18:25:59
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
long long i,n,v[500005],k,S,Max,dr,nrf,Maxnrf;
deque<int>q;
int main()
{
    f>>n >>k;
    for(i=1;i<=n;i++)f>>v[i];
    for(i=1;i<=k;i++)
    {
        while(!q.empty() && v[q.back()]>=v[i])q.pop_back();
        q.push_back(i);
        if(i-k>=q.front())q.pop_front();
    }
    int nr=v[q.front()];
    if(nr>Max)
    {
        Max=nr;
        dr=i;
    }
    for(i=k+1;i<=n;i++)
    {
        while(!q.empty() && v[q.back()]>=v[i])q.pop_back();
        q.push_back(i);
        if(i-k>=q.front())q.pop_front();
        nr=v[q.front()];
        if(nr>Max)
    {
        Max=nr;
        dr=i;
        nrf++;

    }
    else if(nr==Max)break;
    }
    g<<dr-k+1<<" "<<dr<<" "<<Max;


}