Cod sursa(job #3151583)

Utilizator mewcatPetru Boca mewcat Data 21 septembrie 2023 21:29:40
Problema Subsecventa de suma maxima Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.14 kb
#include <iostream> 
#include <fstream> 

using namespace std; 

int main() 
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    int n = 0;
    f >> n;

    int a[n];
    for (int i = 0; i < n; i++)
    {
        f >> a[i];
    }

    int current_sum = 0;
    int max_sum = -99999;
    int best_i,best_j = 0;
    for (int i = 0; i < n; i++)
    {
        current_sum = a[i];
        for (int j = i; j < n; j += 0)
        {
            if (max_sum < current_sum)
            {
                max_sum = current_sum;
                best_i = i;
                best_j = j;
            }
            if (max_sum == current_sum && best_i > i)
            {
                max_sum = current_sum;
                best_i = i;
                best_j = j;
            }
            if ((current_sum == max_sum) && (best_i == i) && (best_j - best_i > j - i))
            {
                max_sum = current_sum;
                best_i = i;
                best_j = j;
            }
            j++;
            current_sum += a[j];
        }
    }
    g << max_sum << ' ' << best_i+1 << ' ' << best_j+1;
    return 0; 
}