Pagini recente » Cod sursa (job #1531801) | Cod sursa (job #708063) | Cod sursa (job #3169206) | Cod sursa (job #2285973) | Cod sursa (job #2862581)
#pragma region
#include <bits/stdc++.h>
using namespace std;
// File
ifstream fin("ssm.in");
ofstream fout("ssm.out");
#pragma endregion
vector<int> Kadane(vector<int> vect, int n) {
vector<int> ans = { vect[0], 1, 1 };
int currMax = vect[0], start = 1;
for (int i = 1; i < n; i++) {
if (currMax < 0)
currMax = vect[i], start = i + 1;
else currMax += vect[i];
if (currMax > ans[0]) {
ans[0] = currMax;
ans[1] = start;
ans[2] = i + 1;
}
}
return ans;
}
int main() {
ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int n;
fin >> n;
vector<int> vect(n);
for (auto& it : vect)
fin >> it;
vector<int> suma = Kadane(vect, n);
for (auto it : suma)
fout << it << ' ';
return 0;
}