Cod sursa(job #1528520)

Utilizator alittlezzCazaciuc Valentin alittlezz Data 19 noiembrie 2015 19:51:44
Problema Secventa Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#define N 5000010
using namespace std;
int val[N],q[N];

ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k,i,x,b,t,id,jd,mx;
int main()
{
    fin>>n>>k;
    mx = -30000;
    for(i=1;i<=n;i++)
        fin>>val[i];
    for(i=1;i<k;i++)
    {
        while(t&&val[q[t]]>=val[i])t--;
        q[++t]=i;
    }
    for(b=1;i<=n;i++)
    {
        while(t>=b&&val[q[t]]>=val[i])t--;
        q[++t]=i;
        if(q[b]==i-k)b++;
        if(mx < val[q[b]]){
            mx = val[q[b]];
            id = i-k+1;
            jd = i;
        }
    }
    fout<<id<<' '<<jd<<' '<<mx;
    return 0;
}