Cod sursa(job #528038)
Utilizator | Data | 1 februarie 2011 20:28:52 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <stdio.h>
using namespace std;
int n,i,inc,sf,ma,b;
int best,x,ix;
int main()
{
FILE * f;
f=fopen("ssm.in","r");
FILE * g;
g=fopen("ssm.out","w");
fscanf(f,"%d",&n);
b=best=ix=0;
for (i=1;i<=n;i++)
{
fscanf(f,"%d",&x);
if (b+x>x)
{
b+=x;
if (b>best)
{
best=b;
inc=ix;
sf=i;
}
}
else
{
b=x;
ix=i;
}
}
fprintf(g,"%d %d %d",best,inc,sf);;
return 0;
}