Cod sursa(job #292106)
Utilizator | Otilia Stretcu otilia_s | Data | 30 martie 2009 19:26:44 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <stdio.h>
int n;
int main()
{
FILE *fin=fopen("ssm.in","r");
fscanf(fin,"%d",&n);
int now, MaxS=now=-32767;
int pr,ul,a,b,x;
a=b=pr=ul=0;
while (n--)
{
fscanf(fin,"%d ",&x);
if (now>0) {now+=x; b++;}
else {now=x; a=++b;}
if (MaxS<now) {MaxS=now; pr=a; ul=b;}
}
fclose(fin);
FILE *fout=fopen("ssm.out","w");
fprintf(fout,"%d %d %d\n",MaxS,pr,ul);
fclose(fout);
return 0;
}