Cod sursa(job #2404362)

Utilizator andreistanStan Andrei andreistan Data 12 aprilie 2019 16:56:55
Problema Secventa 2 Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <climits>
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");


const int NMAX = 6000001;

int sum[NMAX], N, maxx = INT_MIN, minn = INT_MAX;

int main()
{
    f >> N;
    int i, x, p, u, ssm;
    for(i = 1; i <= N; i++)
    {
        f >> x;
        sum[i] = sum[i - 1] + x;
        if(maxx < sum[i])
        {
            maxx = sum[i];
            u = i;
        }
    }
    for(i = 1; i < u; i++)
        if(minn > sum[i])
        {
            minn = sum[i];
            p = i;
        }
    if(maxx < 0)
    {
        for(i = 1; i <= N; i++)
        {
            int dif = sum[i] - sum[i - 1];
            if(maxx < dif)
            {
                maxx = dif;
                u = i;
                p = i - 1;
            }
        }
    }
    ssm = sum[u] - sum[p];
    g << p << ' ' << u-1 <<' '<<ssm;
    return 0;
}