Pagini recente » Cod sursa (job #3276724) | Cod sursa (job #2095624) | Cod sursa (job #431302) | Cod sursa (job #3280444) | Cod sursa (job #2210720)
#include <bits/stdc++.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
const int INF = 2000000000;
const int NMax = 6000001;
int n;
int a[NMax],mx[NMax];
int main()
{
f >> n;
for(int i = 1; i <= n; ++i){
f >> a[i];
mx[i] = -INF;
}
int ans1 = -INF;
int ans2 = 0;
int ans3 = 0;
int l = 0;
for(int i = 1; i <= n; ++i){
if(mx[i - 1] + a[i] > a[i]){
mx[i] = mx[i - 1] + a[i];
if(ans1 < mx[i]){
ans1 = mx[i];
ans2 = l;
ans3 = i;
}
}else{
mx[i] = a[i];
l = i;
if(ans1 < mx[i]){
ans1 = mx[i];
ans2 = l;
ans3 = i;
}
}
}
g << ans1 << ' ' << ans2 << ' ' << ans3 << '\n';
return 0;
}