Pagini recente » Cod sursa (job #1551923) | Arhiva Educationala | Cod sursa (job #558128) | Cod sursa (job #2755657) | Cod sursa (job #2293452)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000005],b[6000005],i,n,xstart,yend,best,ibegin,iend;
void Citire(int a[],int n)
{
for(i=1;i<=n;i++)
fin>>a[i];
}
void SSM(int a[], int n, int b[])
{
//int best;
best=a[1];
xstart=yend=1;
for(i=2;i<=n;i++)
{
b[i]=a[i];
if(b[i]<b[i-1]+a[i])
{
b[i]=b[i-1]+a[i];
yend=i;
}
else
{
xstart=i;
yend=i;
}
if(best<b[i])
{
best=b[i];
yend=i;
ibegin=xstart;
iend=yend;
}
}
//return best;
}
int main()
{
fin>>n;
Citire(a,n);
SSM(a,n,b);
fout<<best<<" "<<ibegin<<" "<<iend;
return 0;
}