Cod sursa(job #2205745)

Utilizator dorupopDoru Pop dorupop Data 20 mai 2018 09:16:15
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#include<climits>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int v[500001],dq[500001],Max,p,u,k,n,i,dr;
int main()
{
    f>>n>>k;
    for(i=1;i<=n;i++)
       f>>v[i];
   p=1;u=0;Max=INT_MIN;
   for(i=1;i<=n;i++){
       while(p<=u&&v[i]<=v[dq[u]])
           u--;
       dq[++u]=i;
       if(i-dq[p]==k)
           p++;
       if(i>=k)
          if(Max<v[dq[p]]){
              Max=v[dq[p]];
              dr=i;
          }

   }
   g<<dr-k+1<<" "<<dr<<" "<<Max;
    return 0;
}