Cod sursa(job #2866695)

Utilizator CristianPavelCristian Pavel CristianPavel Data 9 martie 2022 21:47:15
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#define maxN 6000000
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n;
long long s=0;
int best[maxN];
int main()
{
    int smax=0;
    long long val;
    cin>>n;
    cin>>val;
    smax=best[1]=val;
    int start,end,y;
    for(int i=2;i<=n;i++)
    {
        cin>>val;   
        if(best[i-1]+val>val) best[i]=best[i-1]+val;
        else{
            best[i]=val;
            y=i;
        }
        if(smax<best[i] || (smax==best[i] && start>y)){
            smax=best[i];
            start=y;
            end=i;
        }
    }
    cout<<smax<<" "<<start<<" "<<end;
    cin.close();
    cout.close();
    return 0;

}