Cod sursa(job #2167518)

Utilizator Dobricean_IoanDobricean Ionut Dobricean_Ioan Data 13 martie 2018 22:06:07
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#define x first
#define y second
#include <deque>
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");

const int Dim = 500001;
deque < pair < int , int > > D;
int n,k,ma;

int main() {

    fin >> n >> k;
    int val;
    int  dr;
    for ( int i = 1;  i <= k; ++i) {
        fin >> val;
        while(!D.empty() and D.back().x > val )
            D.pop_back();
        D.push_back({val,i});

            }
    for ( int i = k + 1; i <= n; ++i) {
        fin >> val;
        if (i - D.front().y >= k)
        D.pop_front();
        while(!D.empty() and D.back().x > val )
        D.pop_back();
    D.push_back({val,i});
    if (D.front().x > ma) {
        ma = D.front().x;
        dr = i;
    }
    }

    fout << dr - k + 1 << " " << dr << " "<<ma;
}