Cod sursa(job #1491988)

Utilizator alexandru223Dan Alexandru Dicu alexandru223 Data 26 septembrie 2015 21:31:52
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
using namespace std;
ifstream fi("ssm.in");
ofstream fo("ssm.out");
int a[6000001];
int main() {
    int n;
    fi >> n;
    int i;
    for (i = 1 ; i <= n ; i++) fi >> a[i];
    int s, f, sum;
    s = 1; f = 1; sum = a[1];
    int finalsum, finals, finalf;
    finals = 1; finalf = 1; finalsum = a[1];
    for (i = 2 ; i <= n ; i++) {
        f = i;
        if (sum < 0) {
            s = i;
            sum = a[i];
        }
        else sum += a[i];
        if (sum > finalsum) {
            finalsum = sum;
            finals = s;
            finalf = f;
        }
    }
    fo << finalsum << " " << finals << " " << finalf;
    fo << "\n";
    return 0;
}