Cod sursa(job #3182594)

Utilizator Alex_DumitrascuAlex Dumitrascu Alex_Dumitrascu Data 9 decembrie 2023 10:52:41
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <climits>
using namespace std;
int dp[6000005];
int main()
{
    cin.tie(0); cin.sync_with_stdio(false);
    cout.tie(0); cout.sync_with_stdio(false);
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
    int n, x, suma=0, a=1, b=1, maxim=-INT_MAX, amax, bmax;
    cin>>n;
    /*
    for (int i=1; i<=n; i++) {
        cin>>x;
        suma+=x;
        if (suma>maxim) {
            maxim=suma;
            b=i;
            amax=a;
            bmax=b;
        }
        if (suma<0) {
            a=i+1;
            suma=0;
        }
    }
    cout<<maxim<<' '<<amax<<' '<<bmax;
    */
    for (int i=1; i<=n; i++) {
        cin>>dp[i];
        dp[i]=max(dp[i-1]+dp[i], dp[i]);
        if (dp[i-1]<0) a=i;
        if (dp[i]>maxim) {
            maxim=dp[i];
            b=i;
        }
    }
    cout<<maxim<<' '<<a<<' '<<b;
    return 0;
}