Cod sursa(job #2127606)

Utilizator nicholascantarNicholas David Cantar Gogitidze nicholascantar Data 10 februarie 2018 20:40:44
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;

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

int n , k , j , inc ,maxim,poz,finl,b[500005],a[500005],i,semn;
int main()
{
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    maxim = -300001;
    inc = 1;
    for( i = 1 ; i <= n ;i++)
    {
        while( inc <= finl && a[i] < a[b[finl]])
        {
            finl--;
        }
        finl++;
        b[finl] = i;
        if( b[inc] <= i-k)
            inc++;
        if( i >= k && a[b[inc]] > maxim)
        {
            maxim = a[b[inc]];
            poz = i;
        }
    }
    fout << poz-k+1 << " " << poz << " " << maxim;
    return 0;
}