Cod sursa(job #2691379)

Utilizator vladdobro07vladdd vladdobro07 Data 28 decembrie 2020 14:14:08
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int main() {
        long long n, st, sols, sold, i, x, s=0, maxx=0, maxn = -2100000000, str, drr;
        cin >> n;
        for(i = 0; i < n; ++i) {
                cin >> x;
                if(maxn < x) {
                        str = drr = i + 1;
                        maxn = x;
                } s += x;
                if(s < 0) {
                        s = 0;
                        st = i + 1;
                } if(maxx < s) {
                        maxx = s;
                        sols = st + 1;
                        sold = i + 1;
                } maxx = max(maxx, s);
        } if(maxn < 0)
                cout << maxn << " " << str << " " << drr;
        else cout << maxx << " " << sols << " " << sold;
        return 0;
}