Cod sursa(job #1898560)

Utilizator feli2felicia iuga feli2 Data 2 martie 2017 09:34:04
Problema Secventa Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("secventa.in");
ofstream fout("secventa.out");

const int N=500005;
int D[N], In[N], mx=-300005, mxf, mxb, x, b, f, n, k;

int main()
{
    fin>>n>>k;
    b=1;
    for(int i=1;i<=k;i++)
    {
        fin>>x;
        while(D[f]>x&&f)
            f--;
        f++;
        D[f]=x;
        In[f]=i;
    }
    for(int i=k+1;i<=n;i++)
    {
        fin>>x;
        while(i-In[b]>=k)
            b++;
        while(D[f]>x&&f>=b)
            f--;
        f++;
        D[f]=x;
        In[f]=i;
        if(D[b]>mx)
        {
            mx=D[b];
            mxb=i-k+1;
            mxf=i;
        }
    }
    fout<<mxb<<" "<<mxf<<" "<<mx;
    return 0;
}