Cod sursa(job #406720)
| Utilizator | Data | 1 martie 2010 19:10:53 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include<stdio.h>
#define inf 0x3f3f3f3f
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;
}
