Pagini recente » Cod sursa (job #1291585) | Cod sursa (job #385920) | Cod sursa (job #2144117) | Cod sursa (job #2267047) | Cod sursa (job #2905744)
#include<iostream>
#include<stdint.h>
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int maxSub(int size, int &start, int &end)
{
int a;
f >> a;
int maxim = a;
int start_c = 0;
int end_c = 0;
int maxim_curent = a;
for (int i = 1; i < size; i++)
{
f >> a;
if(a > maxim_curent+a){
maxim_curent = a;
start_c = i;
end_c = i;
}
else{
maxim_curent = maxim_curent+a;
end_c = i;
}
if(maxim < maxim_curent){
maxim = maxim_curent;
start = start_c;
end = end_c;
}
}
return maxim;
}
int main()
{
int n = 0;
f >> n;
int start = 0;
int end = 0;
int max_sum = maxSub(n, start, end);
g << max_sum << ' ' << start+1 << ' ' << end+1;
return 0;
}