Pagini recente » Cod sursa (job #2439612) | Cod sursa (job #2979683) | Cod sursa (job #125997) | Cod sursa (job #2837021) | Cod sursa (job #862526)
Cod sursa(job #862526)
#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[ler],Max(),n,mmin,m,mmax;
int main()
{
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
g<<Max();
g<<'\t';
g<<mmin;
g<<'\t';
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[i]=sum[i]-min;
if(sum[i]<min)
{
m=i+1;
min=sum[i];
}
if(best[i]>BEST)
{
BEST=best[i];
mmin=m;
mmax=i;
}
}
return BEST;
}