Cod sursa(job #3252119)

Utilizator denisdalanDenis Dalan denisdalan Data 28 octombrie 2024 16:44:09
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
using namespace std;

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

int a[10000000];

int main()
{
    int i, n, bestSum, cuSum, dr, st, stTemp;
    in >> n;
    for (i = 1; i <= n; ++i)
    {
        in >> a[i];
    }   

    bestSum = -2000000000;
    cuSum = 0;
    for (int i = 1; i <= n; ++i)
    {
        if (a[i] > cuSum + a[i]) {
            cuSum = a[i];
            stTemp = i;
        }
        else
            cuSum += a[i];
        if (bestSum < cuSum) {
            bestSum = cuSum;
            st = stTemp;
            dr = i;
        }
    }


    out << bestSum << ' ' << st << ' ' << dr;

    return 0;
}