Pagini recente » Cod sursa (job #3279935) | Cod sursa (job #3277833)
#include <bits/stdc++.h>
using namespace std;
#define nmax 6000005
long long int n, v[nmax], dp[nmax], st[nmax] , start, sfarsit, sum;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main() {
in >> n;
for(int i = 1; i <= n; i++)
in >> v[i];
dp[1] = v[1];
st[1] = 1;
for(int i = 2; i <= n; i++){
if(dp[i - 1] >= 0){
dp[i] = dp[i - 1] + v[i];
st[i] = st[i - 1];
}
else {
dp[i] = v[i];
st[i] = i;
}
}
for(int i = 1; i <= n; i++)
if(dp[i] > sum){
sum = dp[i];
start = st[i];
sfarsit = i;
}
out << sum << " " << start << " " << sfarsit;
return 0;
}