Cod sursa(job #2208637)

Utilizator roberttrutaTruta Robert roberttruta Data 30 mai 2018 19:40:17
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;
int v[500002],c[500002],n,k,i,Max=-2000000,poz,t,p=1,OK;
int main()
{
    ifstream f("secventa.in");
    ofstream g("secventa.out");

    f>>n>>k;
    for(i=1;i<=n;i++)
    f>>v[i];
    for(i=1;i<=k;i++)
    {
        while(t>=p && v[c[t]]>v[i])
            t--;
        c[++t]=i;
    }
        Max=v[c[1]]; poz=1;

    for(i=k+1;i<=n;i++)
    {
        if(i-c[p]>=k)
            p++;
        while(t>=p && v[c[t]]>v[i])
            t--;
        c[++t]=i;
        if(v[c[p]]>Max)
        {
            Max=v[c[p]];
            poz=i;
            OK=1;
        }
    }
    if(OK)
    g<<poz-k+1<<' '<<poz<<' '<<Max;
    else
    g<<1<<' '<<k<<' '<<Max;

    return 0;
}