Pagini recente » Cod sursa (job #1222833) | Cod sursa (job #527678) | Cod sursa (job #1460012) | Cod sursa (job #3306713) | Cod sursa (job #3344011)
#include <bits/stdc++.h>
using namespace std;
int v[1000005];
long long dp[1000005];
ifstream in("ssm.in");
ofstream out("ssm.out");
int main(){
int n;
in >> n;
for(int i = 1; i <= n; i++)
in >> v[i];
dp[1] = v[1];
long long maxim = dp[1];
int start = 1, final = 1;
int temp_start = 1;
for(int i = 2; i <= n; i++){
if(dp[i-1] + v[i] >= v[i]){
dp[i] = dp[i-1] + v[i];
}
else{
dp[i] = v[i];
temp_start = i;
}
if(dp[i] > maxim){
maxim = dp[i];
start = temp_start;
final = i;
}
}
out << maxim << " " << start << " " << final;
return 0;
}