Cod sursa(job #2506008)

Utilizator davalxdavid alex davalx Data 7 decembrie 2019 12:48:11
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
const int N=6e6;
int s[N],poz[N];
int main()
{
    int n,smax=0,x,pozi,pozf;
    cin>>n>>x;
    s[1]=x;
    poz[1]=1;
    smax=x;
    for(int i=2;i<=n;i++){
        cin>>x;
        if(s[i-1]<0){
            s[i]=x;
            poz[i]=i;
        }
        else{
            s[i]=s[i-1]+x;
            poz[i]=poz[i-1];
        }



        if(s[i]>smax){
            smax=s[i];
            pozi=poz[i];
            pozf=i;
        }
    }
    cout<<smax<<" "<<pozi<<" "<<pozf;
    return 0;
}