Cod sursa(job #2240254)

Utilizator barbuionBarbu Ion barbuion Data 12 septembrie 2018 20:14:41
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <limits.h>
using namespace std;
int sum;
int n, i, x, minim, bestsum, c, d, maxlen=INT_MAX,c1;

int main () {
    ifstream fin ("ssm.in");
    ofstream fout ("ssm.out");
    fin>>n;
    bestsum=INT_MIN;
    sum=0;
    c=1;
    for (i=1;i<=n;i++) {
        fin>>x;
       if(sum+x>=x){// este de preferat sa adaug x la sum
           sum+=x;
       }
       else  // cu elementul din pozitia i poate sa inceapa o subsecventa de suma mai mare
       {
           sum=x;
           c=i;
       }
       if(sum>bestsum){
           bestsum=sum;
           c1=c;
           d=i;
       }
    }

    fout<<bestsum<<" "<<c1<<" "<<d;
    return 0;
}