Cod sursa(job #211105)

Utilizator catalina5catalina serban catalina5 Data 30 septembrie 2008 21:07:42
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream fin("secventa.in");
ofstream fout("secventa.out");

int a[500001],pi,pf,n,lg,bz;

void citire(){
    fin>>n>>lg;
    for(int i=0;i<n;i++)
        fin>>a[i];
}
int min1(int i){
    int min=30001;
    for(int k=0;k<lg;k++)
        if(a[k+i]<min)
            min=a[k+i];
    return min;
}

void parcg(){
    int max=-30001;
    for(int i=0;i<n;i++)
        if(max<min1(i)){
            max=min1(i);
            pi=i;
        }
    bz=max;
}
void max(){
    for(int i=pi-1;i>=0;i--)
        if(a[i]>=bz)
            pi--;
    pf=pi+lg;
    for(int j=pf+1;j<n;j++)
        if(a[j]>=bz)
            pf++;
}
int main(){
    citire();
    parcg();
    max();
    fout<<pi+1<<" "<<pf<<" "<<bz<<"\n";
    fin.close();
    fout.close();
    return 0;
}