Cod sursa(job #1994773)
Utilizator | Data | 25 iunie 2017 23:03:00 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n, x, sum = -1, Max = -2000000000;
int main()
{
f >> n;
int left = 1, right = 1;
int a;
for (long long i = 1;i <= n;i++)
{
if (sum < 0)
{
sum = 0;
a = i;
}
f >> x;
sum += x;
if (sum > Max)
{
Max = sum;
left = a;
right = i;
}
}
g << Max << " " << left << " " << right << "\n";
f.close();
g.close();
return 0;
}