Cod sursa(job #2929037)

Utilizator tudorbuhniaTudor Buhnia tudorbuhnia Data 24 octombrie 2022 14:47:08
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;
int v[6000005];
int s[6000005];
int main()
{
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");
    int n,mx=0,mi,st=0,sr=1,dr=1;
    cin >> n;
    for(int i=1;i<=n;i++)
    {
        cin >> v[i];
    }
    mi=v[1];
    mx=v[1];
    s[1]=v[1];
    for(int i=2;i<=n;i++)
    {
        s[i]=s[i-1]+v[i];

        if(s[i-1]<mi)
        {
            mi=s[i-1];
            st=i-1;
        }

        if(s[i]-mi>mx)
        {
            mx=s[i]-mi;
            sr=st;
            dr=i;
        }
    }
    cout << mx << " " << sr+1 << " " << dr;
    return 0;
}