Pagini recente » Cod sursa (job #1402874) | infoarena - te ajutam sa devii olimpic! | Cod sursa (job #1295009) | infoarena 2 | Cod sursa (job #1977828)
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int A[6000001];
long long Sume[6000001],Best[6000001];
int main()
{int i,j,n;
long long min;
long long bestSum;
int pozi,pozf;
f>>n;
for(i=1;i<=n;i++)
f>>A[i];
Sume[0]=0;
for(i=1;i<=n;i++)
Sume[i]=A[i]+Sume[i-1];
min=Sume[0];
bestSum=INT_MIN;
for(i=1;i<=n;i++)
{Best[i]=Sume[i]-min;
if(min>Sume[i])
{min=Sume[i];
pozi=i+1;}
if(bestSum<Best[i])
{bestSum=Best[i];
pozf=i;}
}
g<<bestSum<<" "<<pozi<<" "<<pozf;
f.close();
g.close();
return 0;
}