Cod sursa(job #640112)
| Utilizator | Data | 24 noiembrie 2011 20:00:01 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include<iostream.h>
#include<cstdio>
using namespace std;
int n,a[6000001],ic,pc,sf,sc,i,maxi;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
maxi=a[1];sc=a[1];ic=1;sf=1;pc=1;
for(i=2;i<=n;i++)
{
if(sc>0) sc+=a[i];
else sc=a[i],pc=i;
if(sc>maxi)
ic=pc,sf=i,maxi=sc;
}
printf("%d %d %d\n",maxi,ic,sf);
return 0;
}