Cod sursa(job #406747)
| Utilizator | Data | 1 martie 2010 19:22:57 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include<stdio.h>
#define inf (1<<30)
#define ll long long
int main()
{
int N,A,Sum,p1,p2,ind,Max;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&N);
Max=-inf; Sum=0; ind=0;
for(int i=1;i<=N;++i)
{
scanf("%d",&A);
if (Sum < 0)
Sum = A, ind=i;
else
Sum += A;
if (Max < Sum)
Max = Sum, p1=ind, p2=i;
}
printf("%d %d %d\n",Max,p1,p2);
return 0;
}
