Cod sursa(job #2990664)

Utilizator nnmadalinNeauna Madalin nnmadalin Data 8 martie 2023 12:18:23
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>
using namespace std;

#define swap(a,b) a^=b^=a^=b
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b

const string file_name = "ssm";
ifstream fin(file_name + ".in");
ofstream fout(file_name + ".out");

int n;
long long s = 0, istart = 0, ifin = 0, nmax = -9999999999, a = 0, b = 0;

int main(){

    fin >> n;

    for(int i = 1; i <= n; i++){
        int x; fin >> x;
        if(s < 0){
            s = x;
            if(s > nmax){
                nmax = s;
                a = i, b = i;
            }
            istart = i;
        }
        else{
            s += x;
            if(s > nmax){
                nmax = s;
                b = i;
                a = istart;
                ifin = i;
            }
        }
    }


    fout << nmax << " " << a << " " << b;


    return 0;
}