Cod sursa(job #217063)

Utilizator cvicentiuCiorbaru Vicentiu Marian cvicentiu Data 26 octombrie 2008 21:08:32
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <fstream>
using namespace std;

long int st,sp,bz;
int n,i,k;
long int max,poz_baza;

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

int main(){
    long int max;
    int min[50001];
    int chk[3][50001];
    int carechk;
    int mult;
    fin>>n>>k;
    fin>>bz;
    min[1]=bz;
    poz_baza=1;

    for (i=2;i<=n;i++){
        fin>>min[i];
    }
    i=1;
    mult=1;
    carechk=1;
    while (i<=n) {
          for (i=mult;i<=mult+k-1;i++){
              if (min[i]<bz) { bz = min[i];
                               poz_baza=i;
                               }
          }
          chk[1][carechk]=poz_baza;
          chk[2][carechk]=bz;
          mult=poz_baza+1;
          bz=30001;
          carechk++;
          if (mult+k-1>n){i=n+1;}
          }
    max=-30001;
    for (i=1;i<=carechk-1;i++){
        if (max<chk[2][i]){max=chk[2][i];
                           poz_baza=chk[1][i];
                           }
        }
    st=poz_baza;
    sp=poz_baza+k-1;
    if (sp>n){sp=n;
       st=n-k+1;}
    //if (poz_baza-k+1>=1){st=poz_baza-k+1;
     //                    sp=poz_baza;}}
    if (poz_baza-k+1<1){st=1;
                        sp=k;} 
    fout<<st<<" "<<sp<<" "<<max;            
}