Cod sursa(job #1930435)

Utilizator waren4Marius Radu waren4 Data 18 martie 2017 21:16:09
Problema Secventa Scor 0
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 = d[st];
            y = i;
        }
    }
    g<<x<<' '<<y<<' '<<m;
    return 0;
}