Pagini recente » Cod sursa (job #805648) | Cod sursa (job #1101523) | Cod sursa (job #583159) | Cod sursa (job #2967429) | Cod sursa (job #2404362)
#include <climits>
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
const int NMAX = 6000001;
int sum[NMAX], N, maxx = INT_MIN, minn = INT_MAX;
int main()
{
f >> N;
int i, x, p, u, ssm;
for(i = 1; i <= N; i++)
{
f >> x;
sum[i] = sum[i - 1] + x;
if(maxx < sum[i])
{
maxx = sum[i];
u = i;
}
}
for(i = 1; i < u; i++)
if(minn > sum[i])
{
minn = sum[i];
p = i;
}
if(maxx < 0)
{
for(i = 1; i <= N; i++)
{
int dif = sum[i] - sum[i - 1];
if(maxx < dif)
{
maxx = dif;
u = i;
p = i - 1;
}
}
}
ssm = sum[u] - sum[p];
g << p << ' ' << u-1 <<' '<<ssm;
return 0;
}