Cod sursa(job #1756380)
Utilizator | Neacsu Radu-Stefan radone | Data | 12 septembrie 2016 18:43:35 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <iostream>
#include <fstream>
using namespace std;
#define maxim(a,b) (a>b?a:b)
ifstream f("ssm.in");
ofstream g("ssm.out");
long long n, sum, be, en, id, sumc, x;
int main()
{
f >> n;
f >> x;
sum = sumc = x;
id = 1;
be = en = 1;
for( int i = 2; i <= n; ++ i )
{
f >> x;
if( sumc < 0 )
{
sumc = x;
id = i;
}
else
{
sumc = x + sumc;
}
if( sumc > sum )
{
sum = sumc;
be = id;
en = i;
}
}
g << sum << " " << be << " " << en;
return 0;
}