Pagini recente » Cod sursa (job #2059352) | Cod sursa (job #2561288) | Cod sursa (job #1603724) | Cod sursa (job #1109925) | Cod sursa (job #2170652)
#include <iostream>
#include <climits>
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
struct vector1
{
int a;
int b;
}S[6000000];
int main()
{
long long int n,x,maxS=LONG_MIN,i,minS=LONG_MAX,imin,imax,aux,min1,max1;
fin>>n;
for (i=1;i<=n;i++)
{
fin>>x;
S[i].a=S[i-1].a+x;
if (S[i].a<=minS)
{
minS=S[i].a;
aux=i;
}
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;
}
fout<<maxS<<" "<<min1<<" "<<max1;
return 0;
}