Cod sursa(job #2537981)

Utilizator Florinos123Gaina Florin Florinos123 Data 4 februarie 2020 10:43:01
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream f ("secventa.in");
ofstream g ("secventa.out");

int n, k, v[500001], aux, maxim, st, dr, i;
deque < int > coada;

int main()
{
 f >> n >> k;
  for (i=1; i<=n; i++)
     f >> v[i];
 while (k <= n)
 {
    for (i=1; i<=n; i++)
    {
        aux = v[i];
         while (!coada.empty() && v[coada.back()] >= aux)
          coada.pop_back();
         coada.push_back(i);
      if (coada.front() == i-k)
          coada.pop_front();
      if (i >= k)
      {
         if (v[coada.front()] > maxim)
         {
             maxim = v[coada.front()];
             st = i-k+1;
             dr = i;
         }
      }
    }
 k ++;
 }
 g << st << " " << dr << " " << maxim;
    return 0;
}