Cod sursa(job #3350761)

Utilizator Tibi_1Dogaru Tiberiu Andrei Tibi_1 Data 12 aprilie 2026 16:28:59
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
#include <cmath>
#define NMAX 6000001
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,mx,j,ed;
int a[NMAX],s[NMAX];
int main()
{
   fin>>n;
   for(int i=1;i<=n;i++)
    fin>>a[i];
   s[1]=a[1];
   for(int i=2;i<=n;i++){
    s[i]=max(s[i-1]+a[i],a[i]);
    if(s[i]>mx){mx=s[i];ed=i;}
    }
    int m=0;
    while(s[ed]!=0){
        s[ed]-=a[ed-m];
        m++;
        j=ed-m+1;
    }
    fout<<mx<<" "<<j<<" "<<ed;
    return 0;
}