Cod sursa(job #670101)

Utilizator ion824Ion Ureche ion824 Data 28 ianuarie 2012 13:27:57
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.47 kb
#include<fstream>
#define nmax 500005
using namespace std;
int a[nmax],m[nmax],p[nmax];
int main(void){
    ifstream fin("secventa.in");
    ofstream fout("secventa.out");
    int i,n,k,min=30005,poz,st,sf,m2=30005,p2,bmax=-30005;
    fin>>n>>k; k--;
    for(i=1;i<=n;++i){ 
                       fin>>a[i]; 
                       if(min>a[i]){ 
                                     min=a[i]; 
                                     poz=i; 
                                     } 
                             else
                               if(m2>a[i]){
                                           m2=a[i];
                                           p2=i;
                                           }       
                       if(i-k<=poz){ 
                                    m[i]=min;
                                    p[i]=poz;
                                    if(m[i]>bmax){ bmax=m[i]; st=poz; sf=i; }
                                  }
                        else { 
                             m[i]=m2;
                             p[i]=p2;                              
                             if(m[i]>bmax){ bmax=m2; st=p2; sf=i; }                            
                             min=m2;
                             poz=p2;
                             m2=30005;                             
                             }
                       }         
    fout<<st<<' '<<sf<<' '<<bmax;                  
 return 0;   
}