Pagini recente » Cod sursa (job #1785885) | Cod sursa (job #2535702) | Cod sursa (job #635878) | Cod sursa (job #1016068) | Cod sursa (job #2853503)
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int sum[6000001] = {0}, maxim[6000001]={-1000000000};
int main()
{
int n, smin, smax, a=0,b=0,k,difmax,x=0,i;
fin >> n;
for (i=1;i<=n;i++)
{
fin>>k;
sum[i]=sum[i-1]+k;
}
smin=sum[0];
smax=-100000000;
for(i=1;i<=n;i++)
{
maxim[i]=sum[i]-smin;
if(smin>sum[i])
{
smin=sum[i];
if(i+1>b)
x=i+1;
else
{
a=i+1;
}
if(a>n)
a=b;
}
if (smax<maxim[i])
{
smax=maxim[i];
b=i;
if(x>0)
{
a=x;
x=0;
}
}
}
fout<<smax<<" "<<a<<" "<<b;
return 0;
}