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