Cod sursa(job #1075833)
| Utilizator | Data | 9 ianuarie 2014 17:03:00 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <cstdio>
using namespace std;
int i,j,k,m,n,nr,s,t,a[6000001],sum[6000001],Max,x,y,min,z;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d\n",&n);
for(i=1; i<=n; i++)
{
scanf("%d ",&a[i]);
sum[i]=sum[i-1]+a[i];
if(sum[i]<min)
{
min=sum[i];
z=i;
}
if(sum[i]-min>Max)
{
Max=sum[i]-min;
x=z+1;
if(x>i) x--;
y=i;
}
}
printf("%d %d %d",Max,x,y);
return 0;
}
