Cod sursa(job #669850)

Utilizator ion824Ion Ureche ion824 Data 27 ianuarie 2012 21:24:01
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
#define nmax 50005
using namespace std;
int a[nmax],sp[nmax],l[nmax],m[nmax];
ofstream fout("secv2.out");
//void scrie(int z[],int n){ for(int i=1;i<=n;++i)fout<<z[i]<<' '; fout<<'\n'; }

int main(void){
    ifstream fin("secv2.in");

    int n,k,i,j,min=0,st,sf,smax=-26000,p=0;
    fin>>n>>k;
    for(i=1;i<=n;++i){ fin>>a[i]; sp[i]=sp[i-1]+a[i]; if(sp[i]<min){ min=sp[i]; p=i; } m[i]=min; l[i]=p; } fin.close();
    //scrie(a,n); scrie(sp,n); scrie(m,n); scrie(l,n);
    for(i=1;i<=n;++i)     
       if(i-k>0)
          if(sp[i]-m[i-k]>smax){
                        smax=sp[i]-m[i-k];
                        st=l[i-k]+1;
                        sf=i;
                        }
    fout<<st<<' '<<sf<<' '<<smax;                                                         
 return 0;                 
}