Pagini recente » Cod sursa (job #312941) | Cod sursa (job #1108942) | Cod sursa (job #2142585) | Cod sursa (job #1250160) | Cod sursa (job #1130667)
#include <iostream>
#include <fstream>
#define N_MAX 6000010
#define INF 99598984
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n, s[N_MAX], sum[N_MAX], best[N_MAX], best_sum = -INF, imin, imax;
int main()
{
in >> n;
for(int i = 1; i <= n; i++)
{
in >> s[i];
sum[i] = sum[i - 1] + s[i];
//cout << sum[i] << " ";
}
int smin = 0;
for(int i = 1; i <= n; i++)
{
best[i] = sum[i] - sum[smin];
if(sum[smin] > sum[i]) smin = i;
if(best_sum < best[i]){ best_sum = best[i]; imax = i; if(smin < i) imin = smin + 1; else imin = smin;}
//cout << best[i] << endl;
}
out << best_sum << " " << imin << " " << imax;
return 0;
}