Cod sursa(job #2193234)

Utilizator lucametehauDart Monkey lucametehau Data 9 aprilie 2018 13:39:14
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream cin ("secventa.in");
ofstream cout ("secventa.out");

const int inf = -30000;
const int nmax = 500000;

int n, k, x;
int sol, st, dr;

int v[1 + nmax];
deque <int> dq;

int main() {
  cin >> n >> k;
  sol = inf;
  for(int i = 1; i <= n; i++) {
    cin >> v[i];
    while(!dq.empty() && v[i] < v[dq.back()])
      dq.pop_back();
    dq.push_back(i);
    if(i - dq.front() == k)
      dq.pop_front();
    if(v[dq.front()] > sol) {
      sol = v[dq.front()];
      st = i - k + 1;
      dr = i;
    }
  }
  cout << st << " " << dr << " " << sol;
  return 0;
}