Pagini recente » Cod sursa (job #3289327) | Cod sursa (job #33279) | Cod sursa (job #1072268) | Cod sursa (job #2734860) | Cod sursa (job #2817755)
#include<bits/stdc++.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main() {
int N;
in >> N;
int a[N], dp[N], deUnde[N];
for(int i = 0; i < N; ++i) {
in >> a[i];
}
dp[0] = a[0];
deUnde[0] = 0;
for(int i = 1; i < N; ++i) {
if(dp[i - 1] + a[i] >= a[i]) {
deUnde[i] = deUnde[i - 1];
dp[i] = dp[i - 1] + a[i];
} else {
deUnde[i] = i;
dp[i] = a[i];
}
}
int answer = -2e9, R;
for(int i = 0; i < N; ++i) {
if(dp[i] > answer) {
R = i;
answer = dp[i];
}
}
out << answer << ' ' << deUnde[R] + 1 << ' ' << R + 1 << '\n';
}