Pagini recente » Cod sursa (job #1154081) | Cod sursa (job #1911337) | Cod sursa (job #2733213) | Cod sursa (job #1343452) | Cod sursa (job #2892688)
#include <bits/stdc++.h>
using namespace std;
int main(void) {
freopen("ssm.in", "rt", stdin);
freopen("ssm.out", "wt", stdout);
int n;
cin >> n;
vector<int> v;
v.push_back(0);
for (int i = 0; i < n; ++i) {
int a;
cin >> a;
v.push_back(a);
}
int mx_pos = 0;
vector<int> dp(n + 1, 0);
for (int i = 1; i <= n; ++i) {
dp[i] = max(v[i], dp[i - 1] + v[i]);
// cout << dp[i] << " ";
if (dp[mx_pos] < dp[i]) {
mx_pos = i;
}
}
int i = mx_pos;
while (i >= 1 && dp[i] >= 0) {
--i;
}
++i;
cout << dp[mx_pos] << " " << i << " " << mx_pos << "\n";
return 0;
}