Cod sursa(job #3335495)

Utilizator Andreea3425Diaconu Andreea Andreea3425 Data 22 ianuarie 2026 19:29:44
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

#define N 6000000

int v[N+1], s[N+1];

int main()
{
    ifstream cin ("ssm.in");
    ofstream cout ("ssm.out");

    int n, i, start, start1, finish, x;

    cin >> n;

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

    s[0] = v[0];
    start = start1 = finish = 0;
    x=INT_MIN;
    for (i=1; i<n; i++){
        if (s[i - 1] >= 0)
            s[i] = s[i - 1] + v[i];
        else{
            s[i] = v[i];
            start1 = i;
        }

        if (s[i] > x){
            x = s[i];
            start=start1;
            finish = i;
        }
    }

    cout << x << ' ' << start + 1 << ' ' << finish + 1 << '\n';
    return 0;
}