Cod sursa(job #2330560)

Utilizator dimi999Dimitriu Andrei dimi999 Data 28 ianuarie 2019 16:35:35
Problema Secventa Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("secventa.in");
ofstream fout("secventa.out");

short int dq[500005],v[500005];

int main()
{
    int n,k,i,maxi=INT_MIN,pi;
    fin>>n>>k;
    for(i=1;i<=n;i++)
        fin>>v[i];
    short int st=1,dr=0;
    for(i=1;i<=n;i++)
    {
       while(st<=dr&&v[dq[dr]]>=v[i])
        dr--;
       dq[++dr]=i;
       if(dq[st]==i-k)
        st++;
       if(i>=k)
       {
           if(v[dq[st]]>maxi)
                maxi=v[dq[st]],pi=i-k+1;
       }
   }
   fout<<pi<<" "<<pi+k-1<<" "<<maxi;
    return 0;
}