Pagini recente » Cod sursa (job #1584759) | Cod sursa (job #2696239) | Cod sursa (job #96191) | Cod sursa (job #2753839) | Cod sursa (job #2289937)
#include <fstream>
using namespace std;
const long NMAX = 6000005;
long v[NMAX];
long N;
int main() {
ifstream iff("ssm.in");
ofstream off("ssm.out");
//freopen("ssm.in", "r", stdin);
//freopen("ssm.out", "w", stdout);
iff >> N;
//scanf("%ld", &N);
for (long i = 1; i <= N; ++i) {
iff >> v[i];
//scanf("%ld", &v[i]);
}
long b,e;
long cr_sum = v[1];
long sum = cr_sum;
b = e = 1;
long fb, fe;
for (long i = 2; i <= N; ++i) {
if (cr_sum < 0) {
b = e = i;
cr_sum = v[i];
} else {
cr_sum += v[i];
e = i;
}
if (cr_sum > sum) {
sum = cr_sum;
fb = b;
fe = e;
} else if (cr_sum == sum) {
if (e - b < fe - fb) {
fb = b;
fe = e;
}
}
}
off << sum << " " << fb << " " << fe;
//printf("%ld %ld %ld", sum, fb, fe);
//fclose(stdin);
//fclose(stdout);
return 0;
}