Pagini recente » Cod sursa (job #2155134) | Cod sursa (job #1806124) | Cod sursa (job #255080) | Istoria paginii preoni-2007/runda-finala/11-12 | Cod sursa (job #1322974)
#include<stdio.h>
#include<limits.h>
int main()
{
FILE *fin,*fout;
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
int n,st=1,fi;
long long bestsum=-INT_MAX;
long long sum=0;
fscanf(fin,"%d",&n);
int a[n];
for(int i=0;i<n;i++) fscanf(fin,"%d",&a[i]);
for(int i=0;i<n;i++)
{
sum+=a[i];
if(sum<0)
sum=0;
else if(sum>bestsum)
{
bestsum=sum;
fi=i+1;
}
}
sum=0;
bestsum=INT_MIN;
for(int i=n-1;i>=0;i--)
{
sum+=a[i];
if(sum<0) sum=0;
else if(sum>bestsum)
{
bestsum=sum;
st=i+1;
}
}
fprintf(fout,"%d %d %d",bestsum,st,fi);
}