Cod sursa(job #2498139)

Utilizator nicolaee2Martinescu Nicolae nicolaee2 Data 23 noiembrie 2019 15:51:32
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include<iostream>
#include<bits/stdc++.h>
using namespace std;

#define NMAX 500005

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

deque<int> dq;
int v[NMAX];

int maxim = -30005;
int pozmax = -1;

int main()
{
   int n,k;
   fin>>n>>k;
   for(int i=1;i<=n;i++)
   {
      fin>>v[i];
   }

   for(int i=1;i<=n;i++)
   {
      while(!dq.empty() && v[dq.back()] >= v[i])
         dq.pop_back();
      dq.push_back(i);
      if(dq.front() == i-k)
      {
         dq.pop_front();
      }

      if(i>=k)
      {

         if(v[dq.front()] > maxim )
         {
            maxim = v[dq.front()];
            pozmax = i;
         }
      }
   }

   fout<<pozmax-k+1<<" "<<pozmax<<" "<<maxim;

   return 0;
}