Cod sursa(job #3345474)

Utilizator paul.papatoiuPaul Papatoiu paul.papatoiu Data 9 martie 2026 19:12:20
Problema Subsecventa de suma maxima Scor 10
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>

int main()
{
    FILE *fin = fopen("ssm.in", "r");
    FILE *fout = fopen("ssm.out", "w");

    int n; 
    int v[100];

    fscanf(fin, "%d", &n);
    for (int i = 1; i <= n; i++) {
        fscanf(fin, "%d", &v[i]);
    }

    int start, end, sum, sumMax;
    start = end = 1;

    sum = sumMax = v[1];
    for (int i = 2; i <= n; i++) {
        if (sum < 0) {
            start = i;
            sum = v[i];
        } else {
            sum += v[i];
        }

        if (sum > sumMax) {
            end = i;
            sumMax = sum;
        }
    }

    if (sumMax < 0)
        start = 1;

    fprintf(fout, "%d %d %d\n", sumMax, start, end);

    fclose(fin);
    fclose(fout);

    return 0;
}