Pagini recente » Cod sursa (job #2415886) | Cod sursa (job #2809512) | Cod sursa (job #1331545) | Cod sursa (job #1487262) | Cod sursa (job #767898)
Cod sursa(job #767898)
#include<stdio.h>
#define NMAX 6000002
#define MIN -999999999
int n, v[ NMAX ], best[ NMAX ], smax = MIN, st, end;
int max(int a, int b)
{
if(a > b)
return a;
return b;
}
void read()
{
FILE *f = fopen("ssm.in", "r");
fscanf(f, "%d", &n);
for(int i = 1; i <= n; i++)
fscanf(f, "%d", &v[i]);
fclose(f);
}
void solve()
{
int x = 0;
for(int i = 1; i <= n; i++)
{
if(best[i-1] + v[i] >= v[i])
best[i] = best[i-1] + v[i];
else
best[i] = v[i], x = i;
if(best[i] > smax)
smax = best[i], st = x, end = i;
}
}
void write()
{
FILE *g = fopen("ssm.out", "w");
fprintf(g, "%d %d %d\n", smax, st, end);
fclose(g);
}
int main()
{
read();
solve();
write();
return 0;
}