Cod sursa(job #304225)
Utilizator | FMI Dogan Adrian Ioan Lucian Tyber | Data | 11 aprilie 2009 15:04:54 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include<stdio.h>
#include<limits.h>
using namespace std;
#define nmax 7000000
int n,a[nmax];
void din();
int main(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
din();
return 0;
}
void din(){
int i,s=0,m=INT_MIN,l1,l2,t;
for(i=1;i<=n;i++){
if(s<0){
s=a[i];
t=i;
}
else s=s+a[i];
if(s>m){
m=s;
l1=t;
l2=i;
}
}
printf("%d %d %d\n",m,l1,l2);
}