Pagini recente » Cod sursa (job #2398517) | Cod sursa (job #2331026) | Cod sursa (job #1748583) | Cod sursa (job #311396) | Cod sursa (job #2512966)
#include <cstdio>
#include <fstream>
using namespace std;
int N;
int main() {
ifstream input("ssm.in");
ofstream output("ssm.out");
input >> N;
int partialSum = 0, lowestPartialSum = 0, lowestPartialSumStart = 0;
int largestSum, largestSumStart, largestSumEnd;
int x;
for (int i = 1; i <= N; i++) {
input >> x;
if (i == 1) {
largestSum = x;
largestSumStart = largestSumEnd = 1;
}
partialSum += x;
if (partialSum - lowestPartialSum > largestSum) {
largestSum = partialSum - lowestPartialSum;
largestSumStart = lowestPartialSumStart + 1;
largestSumEnd = i;
}
if (partialSum < lowestPartialSum) {
lowestPartialSum = partialSum;
lowestPartialSumStart = i;
}
}
output << largestSum << " " << largestSumStart << " " << largestSumEnd << "\n";
return 0;
}