Cod sursa(job #2435432)
Utilizator | Szasz Bogdan SineMine | Data | 4 iulie 2019 00:00:55 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int n, x, start, stop, index;
int s, best_s = INT_MIN;
int main()
{
fin >> n;
for(int i = 1; i <= n; ++i)
{
fin >> x;
if(s < 0)
{
s = x;
index = i;
}
else s += x;
if(s > best_s)
{
best_s = s;
start = index;
stop = i;
}
}
fout << best_s << " " << start << " " << stop << '\n';
return 0;
}