Pagini recente » Cod sursa (job #3037170) | Cod sursa (job #2982821) | Cod sursa (job #2059887) | Cod sursa (job #805139) | Cod sursa (job #3309264)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int n_max=6e6;
long long myinf=3e9;
long long v[n_max+1];
int main()
{
int n;
fin>>n;
for(int i=1;i<=n;i++){
fin>>v[i];
}
long long sum=0,min_sum=0;
long long ansewer=-myinf;
int j=1,st,dr;
for(int i=1;i<=n;i++){
sum=sum+v[i];
long long candidat=sum-min_sum;
if(candidat>ansewer)
{
ansewer=candidat;
st=i;
dr=j;
}
else if(candidat==ansewer && j<st)
{
st=j;
dr=i;
}
if(sum<min_sum)
{
j=i+1;
min_sum=sum;
}
}
fout<<ansewer<<" "<<dr<<" "<<st;
return 0;
}