Cod sursa(job #1872425)

Utilizator RaresEGaySopterean Adrian RaresEGay Data 8 februarie 2017 11:13:15
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
#define maxn 500001

using namespace std;

ifstream f("secventa.in");
ofstream g("secventa.out");

int n, v[maxn], deq[maxn], k, x, maxim;
int st = 1, dr;

int main(){
    f >> n >> k;
    for(int i=1; i<=n; ++i) f >> v[i];

    for(int i=1; i<=n; ++i){
        if(st <= dr && v[i] <= v[deq[dr]]) --dr;
        deq[++dr] = i;
        if(deq[st] == i-k) st++;
        if(i >= k && v[deq[st]] > maxim) maxim = v[deq[st]], x = deq[st];
    }
    g << x << ' ' << x + k -1 << ' ' << maxim << '\n';
    }