Cod sursa(job #2450196)

Utilizator ejoi2019Ejoi 2019 ejoi2019 Data 22 august 2019 12:13:17
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <cstdio>

using namespace std;

bool fi=1;
int best;
int L;
int R;

void upd(int val,int l,int r)
{
        if(val>best || fi)
        {
                fi=0;
                best=val;
                L=l;
                R=r;
        }
}

int main()
{
        freopen("ssm.in","r",stdin);
        freopen("ssm.out","w",stdout);

        int n,x,fi=1;
        scanf("%d%d",&n,&x);
        upd(x,1,1);
        int jeg=x;
        for(int i=2;i<=n;i++)
        {
                scanf("%d",&x);
                if(x>x+jeg)
                {
                        fi=i;
                        jeg=x;
                }
                else
                        jeg+=x;
                upd(jeg,fi,i);
        }

        printf("%d %d %d\n",best,L,R);

        return 0;
}