Cod sursa(job #319439)

Utilizator freak93Adrian Budau freak93 Data 31 mai 2009 19:52:47
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 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];

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

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

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

    return 0;
}