Pagini recente » Cod sursa (job #1144938) | Cod sursa (job #1450570) | Cod sursa (job #2720682) | Cod sursa (job #376601) | Cod sursa (job #634982)
Cod sursa(job #634982)
#include <stdio.h>
#define dim 6000001
typedef struct info
{
int sum;
int start;
int finish;
}info;
int main()
{
int i,x,n;
info best,actual;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
//initialize the sums
scanf("%d",&x);
actual.sum = x;
actual.start = 0;
actual.finish = 0;
best = actual;
for (i=1;i<n;i++)
{
scanf("%d",&x);
if ((actual.sum + x)>x)//have a better sum
{
actual.sum+=x;
actual.finish = i;
}
else//reset the sum
{
actual.sum = x;
actual.start = i;
actual.finish = i;
}
if (actual.sum > best.sum)
best = actual;
}
printf("%d %d %d\n",best.sum,best.start+1,best.finish+1);
return 0;
}