Cod sursa(job #820986)

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


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

    }
    if(start>end) start=end;
    g<<bestSum<<" "<<start<<" "<<end<<" ";

     return 0;
 }