Cod sursa(job #3345364)

Utilizator Antofe_OAntofe Cristian Octavian Antofe_O Data 9 martie 2026 13:24:07
Problema Subsecventa de suma maxima Scor 95
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <stdio.h>
#include <limits.h>

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

    int N;
    fscanf(fin, "%d", &N);

    int current_sum = 0;
    int max_sum = INT_MIN;

    int start = 1, end = 1, temp_start = 1;
    int x;

    for (int i = 1; i <= N; i++) {
        fscanf(fin, "%d", &x);

        if (current_sum + x > x) {
            current_sum += x;
        }
        else {
            current_sum = x;
            temp_start = i;
        }

        if (current_sum > max_sum ||
            (current_sum == max_sum && (i - temp_start < end - start))) {
            max_sum = current_sum;
            start = temp_start;
            end = i;
        }
    }

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

    fclose(fin);
    fclose(fout);

    return 0;
}