Cod sursa(job #560260)
| Utilizator | Data | 18 martie 2011 13:30:45 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include<stdio.h>
using namespace std;
int i,j,ii,jj,in,sf,sol,max,x,n;
int main()
{
FILE *f=fopen("ssm.in","r"), *g=fopen("ssm.out","w");
fscanf(f,"%d",&n);
fscanf(f,"%d",&x);
max=x; in=1;sf=1;
sol=x;
for(i=2;i<=n;i++)
{
fscanf(f,"%d",&x);
if(sol+x < x)
{
in=i; sf=i; sol=x;
}
else
{
sol+=x;
sf++;
}
if(sol > max)
{
max=sol;
ii=in;
jj=sf;
}
}
fprintf(g,"%d %d %d\n",max,ii,jj);
fclose(f);
fclose(g);
return 0;
}
