Pagini recente » Cod sursa (job #208941) | Cod sursa (job #576461) | Cod sursa (job #1882744) | Cod sursa (job #2359927) | Cod sursa (job #862578)
Cod sursa(job #862578)
#include <fstream>
#define Open ifstream f("ssm.in"); ofstream g("ssm.out");
#define Close f.close(); g.close();
const int ler=6000000;
using namespace std;
Open
int a[ler], sum[ler],best,Max(),n,mmin,m,mmax;
int main()
{
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
g<<Max();
g<<' ';
g<<mmin;
g<<' ';
g<<mmax;
Close
return 0;
}
int Max()
{sum[0]=0;
int min=0;
int BEST=-2147483648;
for(int i=1;i<=n;i++) sum[i]=a[i]+sum[i-1];
for(int i=1;i<=n;i++)
{
best=sum[i]-min;
if(sum[i]<min)
{
m=i;//+1;
min=sum[i];
}
if(best>BEST)
{
BEST=best;
mmin=m;
mmax=i;
}
}
return BEST;
}