Cod sursa(job #2250957)
Utilizator | Data | 30 septembrie 2018 21:36:25 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
int sum, sum_max, sum_min, ind = 0, f = 1, l = 1, x, n, i;
fin >> n >> x;
sum = x;
sum_max = x;
sum_min = 0;
for (i = 2; i <= n; i++){
fin >> x;
sum += x;
if (sum - sum_min > sum_max ){
sum_max = sum - sum_min;
l = i;
f = ind + 1;
}
if (sum_min > sum){
sum_min = sum;
ind = i;
}
}
fout << sum_max << " " << f << " " << l;
}