Cod sursa(job #2742822)

Utilizator peterimaria175@gmail.comMaria Peteri [email protected] Data 21 aprilie 2021 21:35:30
Problema Subsecventa de suma maxima Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.97 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("ssm.in");
ofstream out ("ssm.out");
int main()
{
    long long  n,s=0,smax,x,p1=1,p2=1,p1m=0,p2m=0;
    in>>n;
    for(long long i=1; i<=n; i++)
    {
        in>>x;
        if(i==1)
        {
            smax=x;
            p1=1;
            p2=1;
        }
        if(s+x>0)
        {
            s=s+x;
            p2++;

        }

        else
        {
            s=x;
            p1=i;
            p2=i;

        }
        if(smax<s)
        {
            smax=s;
            p1m=p1;
            p2m=p2;
        }
        else if(smax==s)
        {
            if(p1m>p1)
            {
                p1m=p1;
                p2m=p2;
            }else if(p1m==p1)
            {
                if(p2m>p2)
                {
                    p2m=p2;
                }
            }
        }

    }
    out <<smax<<" "<<p1m<<" "<<p2m;
    return 0;
}