Cod sursa(job #3364157)

Utilizator teo16Teo Manoiu teo16 Data 31 august 2026 10:02:16
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <iostream>
#include<fstream>
using namespace std;

int main()
{
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");
    int n,v[6000001],i,stt=1,dr[6000001],st[6000001],p;
    long long dp[6000001],max=-100000000000;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>v[i];

    }
    if(n==1)
    {

        cout<<dp[1];
        return 0;
    }
    dp[1]=v[1];
    st[1]=1;
    dr[1]=1;

    for(i=2;i<=n;i++)
    {
        if(dp[i-1]>0)
        {
            dp[i]=dp[i-1]+v[i];
            st[i]=stt;
            dr[i]=i;
        }
        else
        {
            dp[i]=v[i];
            st[i]=i;
            dr[i]=i;
            stt=i;
        }
    }
    for(i=1;i<=n;i++)
    {
        if(dp[i]>max)
        {
            max=dp[i];
            p=i;
        }
    }


    cout<<max<<" "<<st[p]<<" "<<dr[p];

    cin.close();
    cout.close();
    return 0;
}