Cod sursa(job #857232)

Utilizator dumitrascumihaiDumitrascu Mihai dumitrascumihai Data 17 ianuarie 2013 16:57:47
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<fstream>

#define M 510000
int v[M],d[M];

using namespace std;

int main()
{
    int inf,sup,max,cp,k,n;
    max=-M;
    int i;
    ifstream f("secventa.in");
    ofstream g("secventa.out");
    f>>n>>k;
    inf=0;
    sup=-1;
    for(i=1;i<=n;i++)
    {
        f>>v[i];
        if(i-d[inf]>=k) inf++;
        while(sup>=inf&&v[d[sup]]>=v[i]) sup--;
        d[++sup]=i;
        if(i>=k&&v[d[inf]]>max)
        {
            max=v[d[inf]];
            cp=i;
        }
    }
    g<<cp-k+1<<" "<<cp<<" "<<max;
    return 0;
}