Cod sursa(job #2858164)

Utilizator vladburacBurac Vlad vladburac Data 27 februarie 2022 09:30:10
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
const int MAXN = 5e5;

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

int v[MAXN+1];
deque <int> q;
int main() {
  int n, k, i, bmax, st;
  fin >> n >> k;
  bmax = -50000;
  for( i = 1; i <= n; i++ ) {
    fin >> v[i];
    if( i > k ) {
      if( i - k == q.front() )
        q.pop_front();
    }
    while( !q.empty() && v[i] <= v[q.back()] )
      q.pop_back();
    q.push_back( i );
    if( i >= k ) {
      if( v[q.front()] > bmax ) {
        bmax = v[q.front()];
        st = i;
      }
    }
  }
  fout << st - k + 1 << " " << st << " " << bmax;
  return 0;
}