Cod sursa(job #2496010)

Utilizator lucametehauDart Monkey lucametehau Data 20 noiembrie 2019 09:16:47
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <deque>

using namespace std;

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

int n, k;
int vf, mx, ansl, ansr;

int v[500005];
deque <int> dq;

int main() {
  cin >> n >> k;
  for(int i = 1; i < k; i++) {
    cin >> v[i];
    while(!dq.empty() && v[i] < v[dq.back()])
      dq.pop_back();
    dq.push_back(i);
  }
  for(int i = k; 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()] > mx) {
      mx = v[dq.front()];
      ansl = i - k + 1, ansr = i;
    }
  }
  cout << ansl << " " << ansr << " " << mx;
  return 0;
}