Cod sursa(job #832886)

Utilizator madalincppaslaru madalin cristian madalincp Data 11 decembrie 2012 17:05:47
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
using namespace std;


int main () {

    ifstream fin ("ssm.in");
    ofstream fout ("ssm.out");

    int n,i,j,sum=0,smax=-(1 << 30),a,b,start=1;
    int x;
    fin>>n;

    for(i=1;i<=n;i++){
        fin >> x;
        // calculam in sum suma maxima a unei subsecvente care se termina pe pozitia i
        // si in start tinem pozitia de inceput a acestei subsecvente
        if(x+sum>x)
            sum+=x;
        else{
            sum=x;
            start=i;
        }
        if(sum>smax){
            smax=sum;
            a=start;
            b=i;
        }

    }
    fout<<smax<<' '<<a<<' '<<b<<' '<<endl;
    return 0;
}