Cod sursa(job #2739845)

Utilizator felixiPuscasu Felix felixi Data 10 aprilie 2021 12:33:20
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 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;
    for(j=1;j<=n;++j)
        f>>a[j];
 
    min=get(1,k);
    max=min;
    p=1;
 
 
    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;
}