Pagini recente » Cod sursa (job #2983387) | Cod sursa (job #2057407) | Cod sursa (job #1333409) | Cod sursa (job #2731683) | Cod sursa (job #1363117)
#include <iostream>
#include <fstream>
using namespace std;
int N, s[6000000], aux[6000000];
ifstream in("ssm.in");
ofstream out("ssm.out");
int main()
{
int i, s_min = int(2e9), s_max = 0, poz_min = 0, poz_max = 0;
in >> N;
for(i = 1; i <= N; i++)
{
in >> s[i];
}
/* magic here*/
aux[1] = s[1];
int start, end;
for(i = 2; i <= N; i++)
{
aux[i] = aux[i - 1] + s[i];
if(s_max < aux[i] - s_min ) {
s_max = aux[i] - s_min;
end = i;
start = poz_min;
}
if(s_min > aux[i]) {
s_min = aux[i];
poz_min = i;
}
}
cout<< aux[end] - aux[start] << " " << start + 1 << " " << end << "\n";
return 0;
}