Cod sursa(job #1129572)
Utilizator | Data | 27 februarie 2014 23:24:02 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include<stdio.h>
using namespace std;
int main()
{
int i,n,t,a,s=-1,best=-2000000,inceput,sfarsit;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i){
scanf("%d",&t);
if(s<0) {s=t;a=i;}
else s+=t;
if(best<s) {best=s;inceput=a;sfarsit=i;}
}
if(!best) printf("-1 %d %d",n,n);
else printf("%d %d %d",best,inceput,sfarsit);
fclose(stdin);fclose(stdout);
return 0;
}