Pagini recente » Cod sursa (job #2536704) | Cod sursa (job #1711559) | Cod sursa (job #2323271) | Cod sursa (job #52630) | Cod sursa (job #3211962)
#include "bits/stdc++.h"
inline static void kadane(std::vector< int> v, int &st, int &dr, int &max_initial){
///int max_initial = INT_MIN;
int max_sum = 0;
int s = 0;
for(int i = 0; i < v.size(); i++){
max_sum = max_sum + v[i];
if(max_initial < max_sum){
max_initial = max_sum;
st = s;
dr = i;
}
if(max_sum < 0){
max_sum = 0;
s = i + 1;
}
}
}
inline static void citire(){
std::vector< int>v;
int n;
std::cin >> n;
for(int i = 0; i < n; i++){
int x;
std::cin >> x;
v.push_back(x);
}
int st,dr;
int maxx = INT_MIN;
kadane(v,st,dr,maxx);
std::cout << maxx << " "<< st+1 << " " << dr+1;
}
signed main(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
std::ios_base::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
citire();
return 0;
}