Cod sursa(job #1441210)

Utilizator SwagginInMyJaysaaaaaaaaaaaas SwagginInMyJays Data 23 mai 2015 22:16:11
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <deque>
#include <fstream>

using namespace std;

const int dmax = 500003;

deque < int > D;

int a[dmax];


int main(){
    ifstream fin ("secventa.in");
    ofstream fout ("secventa.out");
    int N, K, start, end, worst = -dmax;
    fin >> N >> K;
    for (int i = 1; i <= N; i++)
        fin >> a[i];
    for (int i = 1; i <= N; i++){
            while ( !D.empty() && a[i] >= a[D.back()]) D.pop_back();
            D.push_back(i);
            if (D.front() == i - K - 1 ) D.pop_front();
            if (i + K - 1  <= N){
                    if (a[D.front()] > worst) worst = a[D.front()], start = D.front(), end = i + K - 1 ;
            }
    }
    fout << start << " " << end << " " << worst;
    return 0;
}