Cod sursa(job #2660862)

Utilizator mihnea_buzoiuMihnea Buzoiu mihnea_buzoiu Data 20 octombrie 2020 18:38:53
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <stdio.h>

using namespace std;

int v[6000001];

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

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

    int a, s=-1, smax=-2000000000, amax=0, bmax=0;
    for (int i=0; i<n; i++){
        if (s > 0)
            s += v[i];
        else {
            a = i;
            s = v[i];
        }

        if (s > smax){
            smax = s;
            amax = a;
            bmax = i;
        }
    }

    fprintf (fout, "%d %d %d", smax, amax+1, bmax+1);

    fclose(fin);
    fclose(fout);
}