Cod sursa(job #2323972)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 20 ianuarie 2019 09:39:25
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <cstdio>



using namespace std;



int main()

{

    freopen("ssm.in", "r", stdin);

    freopen("ssm.out", "w", stdout);



    int n;

    scanf("%d", &n);



    long long sum = 0;

    long long maxx = (-1) << 30;

    int pozSt = 1;

    int pozFs = 1;

    int pozStMax = 1;

    int pozFsMax = 1;

    for(int i = 1; i <= n; ++i)

    {

        int a;

        scanf("%d", &a);



        sum += a;

        if(sum < 0)

        {

            if(sum > maxx)

            {

                maxx = sum;

                pozStMax = pozSt;

                pozFsMax = i;

            }

            sum = 0;

            pozSt = i + 1;

        }

        else

            if(sum > maxx)

            {

                maxx = sum;

                pozStMax = pozSt;

                pozFsMax = i;

            }

    }

    printf("%lld %d %d\n", maxx, pozStMax, pozFsMax);

    return 0;

}