Pagini recente » Cod sursa (job #626670) | Cod sursa (job #673090) | Cod sursa (job #1058444) | Cod sursa (job #1773141) | Cod sursa (job #2841949)
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
const char iname[] = "ssm.in";
const char oname[] = "ssm.out";
const int MAXN = 6000100;
int best[MAXN], n;
#define FOR(i, a, b) for(int i = (a); i <= (b); ++i)
#define MAX(a, b) ((a) > (b) ? (a) : (b))
int main(void) {
ifstream in(iname); ofstream out(oname);
in >> n;
FOR (i, 1, n) in >> best[i];
int bestSum = INT_MIN, sum = best[1], beginning = 1, ending = 1, idx;
FOR(i, 2, n) {
sum = MAX(best[i - 1] + best[i], best[i]);
if(sum == best[i - 1] + best[i]) {
ending = i;
} else if(sum == best[i]) {
beginning = ending = i;
}
if(bestSum < sum) {
bestSum = sum;
}
}
out << bestSum << " " << beg << " " << end;
in.close(), out.close();
return 0;
}