Cod sursa(job #1930437)

Utilizator waren4Marius Radu waren4 Data 18 martie 2017 21:17:10
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 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;

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