Cod sursa(job #2513904)

Utilizator StasBrega Stanislav Stas Data 24 decembrie 2019 01:25:10
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,Max,sum[6000005];

int main()
{

    fin >> n;

    Max=- (1 << 30); int x,y;
    for(int i=1;i<=n;i++)
    {
        int a;
        fin >> a;
        sum[i]=max(sum[i-1]+a,a);
        if(sum[i]>Max)
            Max=sum[i];
    }

    for(int i=1;i<=n;i++)
    {
        if(sum[i]<0)
            x=i+1;
        if(sum[i]==Max)
        {
            y=i;
            break;
        }
    }

    if(x>y) x=y; //Caz negativ
    fout << Max << " " << x << " " << y;

    return 0;

}