Pagini recente » Borderou de evaluare (job #1455214) | Cod sursa (job #2196288) | Borderou de evaluare (job #1589289) | Patrulatere | Cod sursa (job #784205)
Cod sursa(job #784205)
#include<cstdio>
#define NMAX 6000005
int A[NMAX];
int N, K;
int posStart, posEnd;
int sumMax;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d", &N);
for(int i = 1; i <= N; i++)
scanf("%d",&A[i]);
int max = A[1];
posStart = 1;
posEnd = 1;
int currentSum = 0;
for(int i = 1; i <= N; i++)
{
int j = i;
while(j <= N && currentSum >= 0)
{
currentSum = currentSum + A[j];
if(currentSum > max)
{
max = currentSum;
posStart = i;
posEnd = j;
}
j++;
}
i = j - 1;
currentSum = 0;
}
printf("%d %d %d\n", max, posStart, posEnd);
return 0;
}