Cod sursa(job #1675322)

Utilizator serbanSlincu Serban serban Data 5 aprilie 2016 11:34:46
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>

#define pii pair<int, int>

using namespace std;

int a[500005];
int d[500005];
int l = 1, r;

int main()
{
    ifstream f("secventa.in");
    ofstream g("secventa.out");
    int n, k, x, st, dr, mx = -30005;
    f >> n >> k;
    for(int i = 1; i < k; i ++) {
        f >> a[i];
        while(l <= r && a[i] < a[d[r]]) r --;
        d[++ r] = i;
    }
    for(int i = k; i <= n; i ++) {
        f >> a[i];
        while(l <= r && a[i] < a[d[r]]) r --;
        d[++ r] = i;
        if(i - k >= d[l]) l ++;
        if(mx < a[d[l]]) {
            mx = a[d[l]];
            dr = d[r];
            st = d[r] - k + 1;
        }
    }
    g << st << " " << dr << " " << mx << "\n";
    return 0;
}