Cod sursa(job #418213)

Utilizator johnbBaranga Ionut johnb Data 15 martie 2010 17:24:51
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <limits.h>
using namespace std;

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




int main() {
     int elem, n, sum = 0, best, min = 0, bestSum, e, b = 0, bt;
     in >> n;
     in >> elem; 
     bestSum = elem;
     min     = bestSum < 0 ? bestSum : 0;
     best    = elem;
     for (int i = 1; i < n; i++) {
         in >> elem;
         sum += elem;
         best = sum - min;
         if (sum < min) {
            bt = i + 1;
            min = sum;
         }
         if (best > bestSum) {
            bestSum = best;
            e = i;
            b = bt;
         }
     }
     out << bestSum << " " << b + 1 << " " << e + 1 ;
     return 0;
     
}