Cod sursa(job #427653)
| Utilizator | Data | 28 martie 2010 11:47:38 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
void open(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
}
const int oo=(int)2e9;
int n,x,ans,sum,b1,b2,id2;
int main(){
open();
scanf("%d",&n);
ans=-oo;sum=0;
for (int i=1;i<=n;i++){
scanf("%d",&x);
if (sum<0){
sum=x;id2=i;
}
else {
sum+=x;
}
if (ans<sum){
ans=sum;
b1=id2;b2=i;
}
}
printf("%d %d %d\n",ans,b1,b2);
//system("pause");
return 0;
}
