Pagini recente » Cod sursa (job #2690553) | Cod sursa (job #1931184) | Cod sursa (job #2525246) | Cod sursa (job #1221144) | Cod sursa (job #2170718)
#include <iostream>
#include <climits>
using namespace std;
struct vector1
{
int a;
int b;
}S[6000001];
int main()
{
long long int n,x,maxS=LONG_MIN,i,minS=LONG_MAX,imin,imax,aux,min1,max1,OK;
cin>>n;
for (i=1;i<=n;i++)
{
OK=0;
cin>>x;
S[i].a=S[i-1].a+x;
if (S[i].a<=minS)
{
minS=S[i].a;
OK=1;
}
S[i].b=minS;
if (S[i].a-S[i-1].b>maxS)
maxS=S[i].a-S[i-1].b,
min1=aux,
max1=i;
if(OK==1)
aux=i;
}
cout<<maxS<<" "<<min1+1<<" "<<max1;
return 0;
}