Cod sursa(job #1729569)

Utilizator liviu23Liviu Andrei liviu23 Data 15 iulie 2016 09:23:27
Problema Secventa Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <deque>
#define f first
#define s second
using namespace std;

deque<pair<int,int> > d;
int n,k;

int main()
{
    ifstream fin("secventa.in");
    ofstream fout("secventa.out");
    fin>>n>>k;
    int m,st,mx=-30000;
    for(int i=0;i<=n;i++) {
        fin>>m;
        if(!d.empty()&&d.front().s<=i-k) {
            if(d.front().f>mx) {
                st=d.front().s;
                mx=d.front().f;
            }
            d.pop_front();
        }
        while(!d.empty()&&d.back().f>m)
            d.pop_back();
        d.push_back({m,i});
    }
    fout<<st+1<<" "<<st+k<<" "<<mx;
    return 0;
}