Cod sursa(job #1442741)

Utilizator andrei_xdsParasca Andrei andrei_xds Data 26 mai 2015 09:48:32
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
using namespace std;
#include <fstream>
#include <algorithm>
ifstream f("secventa.in");
ofstream g("secventa.out");
int v[500002], k, n, c[500002];
int st=1, dr=1, m=-30001, tm=0;
int main()
{
    int i;
    f>>n>>k;
    for(i=1; i<=n; i++)
        f>>v[i];
    for(i=1; i<=k; i++)
        c[i]=v[i];
    st=0;
    dr=1;
    for(i=1; i<=n; i++)
    {
        while(st>=dr && v[i]<=v[c[st]]) st--;
        st++;
        c[st]=i;
        if(c[dr]==i-k) dr++;
        if(i>=k && v[c[dr]]>m)
            {
            m=v[c[dr]];
            tm=c[dr];
            }

    }
    g<<tm<<' '<<tm+k-1<<' '<<m;
    return 0;
}