Cod sursa(job #1233772)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 25 septembrie 2014 23:46:35
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <deque>

using namespace std;

typedef struct {
    int x, y;
} pereche;

deque<pereche> d;
int n;
int v;
int k;
int maxim;



int main() {

    ifstream f("secventa.in");
    ofstream g ("secventa.out" );
    f>>n>>k;
    maxim = -30001;
    for (int i = 1; i<=n; ++i) {
        f>>v;
        while (!d.empty() && v < d.back().x) {
            d.pop_back();
        }
        while (!d.empty() && d.front().y+k<=i) {

            d.pop_front();
        }

        pereche p;
        p.x = v;
        p.y = i;
        d.push_back(p);
        if (d.front().x>maxim) {

            maxim = d.front().x;
        }
    }

    g<<d.front().y<<" "<<d.back().y<<" "<<maxim;
    return 0;
}