Cod sursa(job #2538633)

Utilizator Florinos123Gaina Florin Florinos123 Data 4 februarie 2020 21:31:25
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <deque>

using namespace std;

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

int n, k, v[500005], maxim = -30005, st, dr, i;
deque < int > coada;

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

    for (i=1; i<=n; i++)
    {
         while (!coada.empty() && v[i] <= v[coada.back()])
          coada.pop_back();

         coada.push_back(i);

       if (coada.front() <= i-k)
           coada.pop_front();

       if (i >= k && v[coada.front()] > maxim)
       {
           maxim = v[coada.front()];
           st = i-k+1;
           dr = i;
       }
    }
 g << st << " " << dr << " " << maxim;
 f.close();
 g.close();
    return 0;
}