Cod sursa(job #1817474)

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

using namespace std;

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

  for(int i = 0; i < N; i++) {
    if(!dq.empty() && dq.front() == (i - K)) {
        dq.pop_front();
    }


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

    if(i - K >= 0 && base < array[dq.front()]) {
      base = array[dq.front()];
      pos = i;
    }
  }
  return base;
}

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