Cod sursa(job #1325180)
| Utilizator | Data | 23 ianuarie 2015 14:38:17 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <cstdio>
using namespace std;
int i,x,n,best_begin,best_s=-2000000000,s,begin,end,best_end;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
// scanf("%d",&x);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(s+x>=x)
s+=x;
else
{
s=x;
begin=i;
}
if(s>best_s)
{
best_s=s;
best_begin=begin;
best_end=i;
}
}
printf("%d %d %d",best_s,best_begin,best_end);
return 0;
}
