Cod sursa(job #1998716)

Utilizator JustGingaGinga Tudor-Adrian JustGinga Data 8 iulie 2017 21:15:37
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
using namespace std;
ifstream in ("ssm.in");
ofstream out ("ssm.out");
int n, st, dr, a[6000001], s[6000001];
int main()
{
    in >> n;
    for (int i = 1; i <= n; i++) in >> a[i];
    for (int i = 1; i <= n; i++) s[i] = s[i-1] + a[i];
    for (int i = 1; i <= n; i++)
        if (s[i] > s[dr])
            dr = i;
    a[0] = 0x3FFFFFFF;
    for (int i = 1; i <= dr; i++)
        if (s[i] < s[st])
            st = i;
    out << s[dr] - s[st] << " " << st + 1 << " " << dr << '\n';
    out.close(); return 0;
}