Cod sursa(job #3216273)

Utilizator Ruxandra009Ruxandra Vasilescu Ruxandra009 Data 15 martie 2024 19:35:55
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <climits>

using namespace std;

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

int n, mini, maxi, p1, p2, s[6000005];

int main()
{
    f >> n;
    for(int i = 1; i <= n; i ++)
    {
        int x;
        f >> x;
        s[i] = s[i - 1] + x;
    }

    mini = 0; maxi = INT_MIN;
    int st = 0;
    for(int i = 1; i <= n; i ++)
    {
        int sum = s[i] - s[st];
        if(sum > maxi)
        {
            maxi = sum;
            p1 = st + 1; p2 = i;
        }

        if(mini > s[i])
            mini = s[i], st = i;
    }

    g << maxi << " " << p1 << " " << p2;
    return 0;
}