Cod sursa(job #820978)

Utilizator binu_mtBosincianu Matei binu_mt Data 21 noiembrie 2012 15:05:20
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
#define NMAX 70000100
 using namespace std;
 ifstream f("ssm.in");
 ofstream g("ssm.out");
 int n,a[NMAX],sum[NMAX],best[NMAX],bestSum,i,k,start,end;
 long long INF;
 int main()
 {f>>n; INF=1000000000;
    INF=-INF*INF;
    sum[0]=0;  int min=sum[0];
    for( i=1; i<=n; ++i) f>>a[i];
    for( i=1; i<=n; ++i)
     sum[i]=a[i]+sum[i-1];
    bestSum=INF;
    for( i=1; i<=n; ++i)
    {
         best[i]=sum[i]-min;
        if( min > sum[i]) min=sum[i],k=i+1;


        if(bestSum < best[i])
            {bestSum=best[i]; start=k; end=i;}

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

     return 0;
 }