Cod sursa(job #2645260)

Utilizator sculap1234321Panainte Alexandru sculap1234321 Data 27 august 2020 16:36:10
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb
#include <iostream>
#include <fstream>
using namespace std;
int sumPart[100000];
int main()
{
    int n, sum = 0, maxSum=INT_MIN,i,n;
    int start,finish = -1;
    int local_start = 0;
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    fin >> n;
    for(int i = 0 ; i < n ; i++)
    {
        fin >> sumPart[i];
        k = sumPart[i];
        sum += k;
        if(sum < 0)
        {
            sum = 0;
            local_start = i + 1;
        }
        else if (sum > maxSum)
        {
            start = local_start;
            finish = i;
            maxSum = sum;
        }

    }
    if(finish != -1) fout<<maxsum<<" "<<start<<" "<<finish;
    else
    {
        maxSum = sumPart[0];
        start=finish=0;
        for(i = 1; i < n ; i++)
        {
            if(maxSum < sumPart[i])
            {
                maxSum = sumPart[i];
                start=finish=1;
            }
        }
        fout<<maxsum<<" "<<start<<" "<<finish;
    }
    return 0;
}