Cod sursa(job #2072431)
| Utilizator | Data | 21 noiembrie 2017 20:44:21 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <iostream>
#include<fstream>
using namespace std;
int main()
{
int n, i, x, max, s, v[100], inc, sf;
ifstream f("ssm.in");
ofstream g("ssm.out");
f >> n;
for (i = 0 ;i < n; i++)f >> v[i];
max = v[0];
if (v[0] > 0) s = v[0];
else s = 0;
inc = 0;
sf = 0;
for (i = 1; i < n; i++) { s = s + v[i];
if (s > max) {max = s; sf = i + 1;}
if (s < 0) {s = 0; inc = i + 2;}
}
g << max << ' ' << inc << ' ' << sf;
f.close();
g.close();
return 0;
}
