Pagini recente » Borderou de evaluare (job #2018049) | Cod sursa (job #3191060) | Cod sursa (job #1148656) | Cod sursa (job #720842) | Cod sursa (job #901396)
Cod sursa(job #901396)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
#define Nmax 6000001
int a[Nmax],n,bestsum,best[Nmax],sum[Nmax];
int main()
{
int i,min,j,inceput,sfarsit;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
sum[i]=a[i]+sum[i-1];
min=sum[0];
bestsum=-100000;
for(i=1;i<=n;i++)
{
best[i]=sum[i]-min;
if(min>sum[i])
{min=sum[i];
j=i+1;}
if(bestsum<best[i])
{bestsum=best[i];
inceput=j;
sfarsit=i;}
}
g<<bestsum<<' '<<inceput<<' '<<sfarsit;
}