Cod sursa(job #2602396)

Utilizator nicu_ducalNicu Ducal nicu_ducal Data 16 aprilie 2020 20:15:05
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
typedef unsigned int ui;
typedef long long ll;
using namespace std;

int a[6000005], n, sum, newst, st, dr, ans;

int main(){
    ios_base::sync_with_stdio(0); cin.tie(); cout.tie();
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");

    cin >> n;
    for (int i = 0; i < n; i++)
        cin >> a[i];

    ans = INT_MIN;
    for (int i = 0; i < n; i++){
        sum += a[i];
        if (sum > ans){
            st = newst;
            ans = sum;
            dr = i;
        }
        if (sum < 0)
            newst = i + 1;
        sum = max(sum, 0);
    }

    cout << ans << " " << st + 1 << " " << dr + 1;

    return 0;
}