Pagini recente » Cod sursa (job #1157846) | Cod sursa (job #2846232) | Cod sursa (job #2897612) | Cod sursa (job #2497816) | Cod sursa (job #2201237)
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main() {
int i, n, *v;
int maxi = -2000000000;
int p, start = -1 , end, act;
f >> n;
v = (int *)malloc((n + 1) * sizeof(int));
int mini = -2000000000;
for (i = 1; i <= n; ++i) {
f >> v[i];
if (v[i] > mini) {
mini = v[i];
p = i;
}
}
int sum = 0;
act = 1;
for (i = 1; i <= n; ++i) {
if (sum + v[i] < 0) {
act = i + 1;
sum = 0;
} else if (sum + v[i] > 0) {
sum += v[i];
if (sum > maxi) {
maxi = sum;
start = act;
end = i;
}
}
}
if (start == -1) {
g << mini << ' ' << i << ' ' << i << '\n';
} else {
g << maxi << ' ' << start << ' ' << end << '\n';
}
return 0;
}