Cod sursa(job #3195611)

Utilizator Warrior.exeZgorcea Mihai-Alexandru Warrior.exe Data 21 ianuarie 2024 13:02:51
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include<fstream>
using namespace std;
//int sum[6000000];
int main()
{
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int nr,val,start=0,end,startmax=0,sfarmax=0;
long long suma=0,sumamax=0;
cin>>nr;
for(int i=0;i<nr;i++){
    cin>>val;
    if(suma+val>0){
     suma+=val;

     if(suma>sumamax){
        startmax=start;
        sfarmax=i;
        sumamax=suma;
     }
    }
    else{
            start=i+1;
            suma=0;
        if(suma==0){
            start=i+1;
        }
    }
//sum[i]=suma;
}
if(suma>sumamax){
    sfarmax=nr-1;
    sumamax=suma;
}
/*
for(int i=0;i<nr;i++){
    cout<<sum[i]<<" ";
}
cout<<'\n';
*/
cout<<sumamax<<" "<<startmax+1<<" "<<sfarmax+1;
    return 0;
}