Pagini recente » Diferente pentru problema/energii intre reviziile 5 si 4 | Diferente pentru problema/saseg intre reviziile 15 si 12 | Cod sursa (job #2787266) | Cod sursa (job #1164423) | Cod sursa (job #2617834)
#include <fstream>
int main() {
int n, i, x, currentSum = -1, bestSum = -2147483648, currentStart, bestStart, bestEnd;
std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");
fin >> n;
for(i = 1; i <= n; ++i) {
fin >> x;
if(currentSum < 0) {
currentSum = x;
currentStart = i;
}
else
currentSum += x;
if(currentSum > bestSum) {
bestStart = currentStart;
bestEnd = i;
bestSum = currentSum;
}
}
fout << bestSum << ' ' << bestStart << ' ' << bestEnd;
}