Cod sursa(job #1817399)

Utilizator geni950814Geni Geni geni950814 Data 27 noiembrie 2016 19:05:35
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <deque>
#include <vector>
#include <algorithm>
#include <fstream>

using namespace std;

int secventa(int N, int K, vector<int> array) {
  int base = 0;
  deque<int> dq;

  for(int i = 0; i < N; i++) {
    if(i - K >= 0) {
      base = max(base, array[dq.front()]);
      if(dq.front() == (i - K)) {
        dq.pop_front();
      }
    }

    while(!dq.empty() && array[dq.back()] > array[i]) {
      dq.pop_back();
    }
    dq.push_back(i);
  }
  return base;
}

int main() {
  ifstream in("secventa.in");
  int N, K;
  in >> N >> K;
  ofstream out("secventa.out");
  vector<int> array;
  int i;
  while(in >> i) {
    array.push_back(i);
  }
  out << secventa(9, 3, array);
  return 0;
}