Cod sursa(job #1510843)

Utilizator oanaroscaOana Rosca oanarosca Data 25 octombrie 2015 17:54:17
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <deque>

using namespace std;

int n, k, s, d, val, a[500001], inc, sf, maxim, i, l[500001];
//deque <int> a, l;

int main () {
  ifstream fi("secventa.in");
  ofstream fo("secventa.out");
  fi >> n >> k; s = d = 1;
  fi >> val; a[s] = val; l[s] = 1;
  for (i = 1; i <= n-1; i++) {
    fi >> val;
    while (a[d] >= val and s <= d)
      d--;
    if (k == i-l[s]+1)
      s++;
    if (a[s] > maxim and i+1 >= k)
      maxim = a[s], inc = i+2-k, sf = i+1;
    a[++d] = val, l[d] = i+1;
  }
  fo << inc << ' ' << sf << ' ' << maxim;
  return 0;
}