Pagini recente » Borderou de evaluare (job #1632342) | Cod sursa (job #802055) | Cod sursa (job #2124347) | Cod sursa (job #290802) | Cod sursa (job #3354259)
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
int n;
int main(void) {
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin >> n;
int maxSum = -99999;
int currentSum = -99999;
int currentIndex = 1, startIndex = 1, lastIndex = 1;
for (int i = 1; i < n + 1; i++) {
int val;
fin >> val;
if (currentSum < 0) {
currentSum = val;
currentIndex = i;
} else currentSum += val;
if (currentSum > maxSum) {
maxSum = currentSum;
startIndex = currentIndex;
lastIndex = i;
}
}
fout << maxSum << " " << startIndex << " " << lastIndex;
}