Pagini recente » Cod sursa (job #2687220) | Cod sursa (job #1880444) | Cod sursa (job #1264580) | Cod sursa (job #1740549) | Cod sursa (job #2149430)
#include<cstdio>
#include<algorithm>
#define N 6000007
using namespace std;
int d[N];
int main()
{
FILE* in = fopen("ssm.in", "r"); ///probleme
FILE* out = fopen("ssm.out", "w");
int n, a, maxnr = 0, inc = 1, sf, tmp = 1;
fscanf(in, "%d", &n);
int maxx=-2147483648, poz;
for(int i = 1; i <= n; ++i)
{
fscanf(in, "%d", &a);
if(a>maxx)
{
maxx=a;
poz=i;
}
if(d[i - 1] + a < 0)
{
d[i] = 0;
tmp = i + 1;
}
else d[i] = d[i - 1] + a;
int nr = max(d[i - 1], d[i]);
if(maxnr < nr)
{
maxnr = nr;
sf = i;
inc = tmp;
}
}
if(maxx>=0) fprintf(out, "%d %d %d", maxnr, inc, sf);
else fprintf(out, "%d %d %d", maxx, poz, poz);
}