Cod sursa(job #1805538)

Utilizator blackmanta45Andrei blackmanta45 Data 13 noiembrie 2016 22:31:53
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
long long v[5000010],s;
int D[5000010],i,u,p,n,k,pozi,pozj,minim=-100000;
int main () {
    fin>>n>>k;
    for(i=1;i<=n;i++)
        fin>>v[i];
    p=1;
    u=1;
    D[1]=1;
    for(i=2;i<=n;i++){
        while(v[i]<=v[D[u]] && p<=u)
            u--;
        D[++u]=i;
        if(i-D[p]>=k)
            p++;
        if(i>=k && v[D[p]]>minim){
            minim=v[D[p]];
            pozi=i-k+1;
            pozj=i;
        }
        s++;

    }
    fout<<pozi<<" "<<pozj<<" "<<minim;
}