Pagini recente » Cod sursa (job #2508632) | infoarena - comunitate informatica, concursuri de programare | Cod sursa (job #1849119) | Cod sursa (job #1733258) | Cod sursa (job #1977819)
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int A[6000001],Sume[6000001],Best[6000001];
int main()
{int i,j,n,min,bestSum,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;
}