Cod sursa(job #2369550)

Utilizator AdelaCorbeanuAdela Corbeanu AdelaCorbeanu Data 6 martie 2019 00:33:50
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
using namespace std;
long long n, x, s[6000001], Min=1000000000, Max, poz, poz2;
int main()
{
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    fin >> n;
    for (int i=1;i<=n;i++) {
        fin >> x;
        s[i] = s[i-1]+x;
        if (s[i]<Min) Min = s[i], poz = i;
    }
    int ok = 1;
    for (int i=poz+1;i<=n;i++) {
        if (s[i]-s[poz]>Max) Max = s[i]-s[poz], poz2 = i, ok = 1;
        if (s[i]>=Max) Max = s[i], poz2 = i, ok = 0;
    }
    if (ok==0) fout << Max << " " << 1 << " " << poz2;
    else fout << Max << " " << poz+1 << " " << poz2;
    return 0;
}