Pagini recente » Cod sursa (job #1127436) | Cod sursa (job #977319) | Cod sursa (job #2380651) | Cod sursa (job #2584487) | Cod sursa (job #2592071)
#include <bits/stdc++.h>
using namespace std;
const int len = 6000005;
int n, a[len];
void kadane(int arr[]) {
int best_sum = INT_MIN, curr_sum = 0, start_index, end_index, aux_index;
for (int i = 1; i <= n; i++) {
if (curr_sum < 0) {
curr_sum = arr[i];
aux_index = i;
}
else
curr_sum += arr[i];
if (best_sum < curr_sum) {
best_sum = curr_sum;
start_index = aux_index;
end_index = i;
}
}
cout << best_sum << " " << start_index << " " << end_index;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
kadane(a);
}