Cod sursa(job #800826)

Utilizator gigi1996gicamarin gigi1996 Data 22 octombrie 2012 19:18:46
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
#define NMAX 6000001
 using namespace std;
 ifstream f("ssm.in");
 ofstream g("ssm.out");
 int n,a[NMAX],sum[NMAX],best[NMAX],bestSum=-20000000,i,k,start,end;
 int main()
 {f>>n;
    sum[0]=0;
    for( i=1; i<=n; ++i) {f>>a[i];  sum[i]=a[i]+sum[i-1];}
    int min=sum[0];
    for( i=1; i<=n; ++i)
    {
         best[i]=sum[i]-min;
        if(min > sum[i]) min=sum[i],k=i;
        if(bestSum < best[i]) bestSum=best[i],start=k,end=i;

    }
    g<<bestSum<<" "<<start<<" "<<end<<" ";

     return 0;
 }