Cod sursa(job #2943686)

Utilizator Tudose_StefanTudose Alexandru Stefan Tudose_Stefan Data 21 noiembrie 2022 15:38:33
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, nr[6000001], sum[6000001], i, imin, iminPerm, imax;
int minn =2147483647, maxx = -2147483648;

int main()
{
    fin >> n;
    sum[0] = 0;
    for (i = 1; i <= n; ++i){
        fin >> nr[i];
        sum[i] = sum[i-1]+nr[i];
    }
    for (i = 1; i <= n; ++i){
        if (sum[i] < minn){
            minn = sum[i];
            imin = i;
        }
        sum[i] = sum[i]-minn;
        if (sum[i] > maxx){
            iminPerm = imin;
            imax = i;
            maxx = sum[i];
        }
    }
    if (maxx == 0){
        cout << nr[n] << ' ' << n << ' ' << n;
        return 0;
    }
    fout << maxx << ' ' << iminPerm+1 << ' ' << imax;

    return 0;
}