Cod sursa(job #2316586)
Utilizator | Ciotei Cristian cristiciotei | Data | 11 ianuarie 2019 22:51:46 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 70 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
long long s[6000000];
int n;
int st=1,dr=1,val=0,max1=-100000,st1;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
cin>>n;
for (int i=1 ; i<=n ; i++)
cin>>s[i];
for (int i=1 ; i<=n ; i++)
{
val=val+s[i];
if (val>max1)
{
max1=val;
dr=i;
st1=st;
}
if (val<0)
{
val=0;
st=i+1;
}
}
cout<<max1<<" "<<st1<<" "<<dr;
return 0;
}