Cod sursa(job #2731229)

Utilizator VladPislaruPislaru Vlad Rares VladPislaru Data 27 martie 2021 16:16:19
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
#define oo 1000000000
using namespace std;

ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int n, s[6000005],  a[6000005];

int main()
{
    int i, x, minim,indminim,summax = -oo,p1,p2;
    fin >> n;
    fin >> s[1];
    for (i = 2; i <= n; i++)
    {
        fin >> x;
        s[i] = s[i - 1] + x;
    }
    minim = 0;
    indminim = 1;
    p1 = p2 = 0;
    for (i = 1; i <= n; i++)
    {
        a[i] = s[i] - minim;
        if (minim > s[i])
        {
            minim = s[i];
            indminim = i;
        }
        if (summax < a[i])
        {
            summax = a[i];
            p1 = indminim + 1;
            p2 = i;
        }
    }
    fout << summax << " " << p1 << " " << p2 << "\n";
    return 0;
}