Cod sursa(job #3167876)

Utilizator Alexbora13Bora Ioan Alexandru Alexbora13 Data 11 noiembrie 2023 11:00:40
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
#define START ios::sync_with_stdio(false); fin.tie(NULL); fout.tie(NULL);
#define STOP fin.close(); fout.close(); return 0;
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n, x, sum;
int ind, st, dr;
int maxi = INT_MIN;

int main()
{
    START
    fin >> n;
    fin >> sum;
    st = 1;
    dr = 1;
    ind = 1;
    for(int i=2; i<=n; i++)
    {
        fin >> x;
        if(sum+x >= x)
        {
            sum = sum+x;
        }
        else
        {
            ind = i;
            sum = x;
        }
        if(sum > maxi)
        {
            maxi = sum;
            st = ind;
            dr = i;
        }
    }
    fout << maxi << ' ' << st << ' ' << dr;
    STOP
}