Cod sursa(job #1930433)

Utilizator waren4Marius Radu waren4 Data 18 martie 2017 21:13:32
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("secventa.in"); ofstream g("secventa.out");
int n,k,a[500001],d[500001],i,m,st,dr,x,y,j;

int main()
{
    f>>n>>k;
    for(i = 1; i <= n; ++i) {
        f>>a[i];
    }
    dr = 0;
    st = 1;
    m = -1000000;
    j = 1;
    for(i = 1; i <= n; ++i) {
        while( st <= dr && a[i] < a[d[dr]]) {
            --dr;
        }
        ++dr;
        d[dr] = i;
        if (d[st] == i - k) {
            ++st;
        }
        if (i > k) {
            ++j;
        }
        if (i >= k && a[d[st]] > m) {
            m = a[d[st]];
            x = j;
            y = i;
        }
    }
    g<<x<<' '<<y<<' '<<m;
    return 0;
}