Cod sursa(job #2330557)

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

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

int dq[500005];

int main()
{
    int n,k,i,v[500005],maxi=INT_MIN,pi;
    fin>>n>>k;
    for(i=1;i<=n;i++)
        fin>>v[i];
     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;
}