Pagini recente » Cod sursa (job #1203262) | Cod sursa (job #615361) | Cod sursa (job #1404266) | Cod sursa (job #781309) | Cod sursa (job #3233217)
#include <iostream>
#include <fstream>
#include <vector>
#include <limits.h>
using namespace std;
int main() {
ifstream infile("ssm.in");
ofstream outfile("ssm.out");
if (!infile || !outfile) {
cerr << "Error opening file" << endl;
return 1;
}
int N;
infile >> N;
vector<int> S(N);
for (int i = 0; i < N; ++i) {
infile >> S[i];
}
long long max_sum = LLONG_MIN;
long long current_sum = 0;
int start = 0, end = 0, temp_start = 0;
for (int i = 0; i < N; ++i) {
current_sum += S[i];
if (current_sum > max_sum) {
max_sum = current_sum;
start = temp_start;
end = i;
}
if (current_sum < 0) {
current_sum = 0;
temp_start = i + 1;
}
}
outfile << max_sum << " " << start + 1 << " " << end + 1 << endl;
infile.close();
outfile.close();
return 0;
}