Cod sursa(job #319443)

Utilizator freak93Adrian Budau freak93 Data 31 mai 2009 19:57:45
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
#define maxn 500001

std::ifstream f("secventa.in");
std::ofstream g("secventa.out");

int a[maxn],j,n,min,max,k,p;

int get(int x,int y)
{
    int min=0x3f3f3f3f;

    for(int i=x;i<=y;++i)
        if(a[i]<min)
            min=a[i];

    return min;
}

int main()
{
    f>>n>>k;
    min=get(1,k);
    max=min;
    p=1;

    for(j=1;j<=n;++j)
        f>>a[j];

    n-=k-1;

    for(j=2;j<=n;++j)
    {
        if(min==a[j-1])
            min=get(j,j+k-1);
        else
            if(a[j+k-1]<min)
                min=a[j+k-1];

        if(min>max) max=min,p=j;
    }

    g<<p<<" "<<p+k-1<<" "<<max<<"\n";

    f.close();
    g.close();

    return 0;
}