Cod sursa(job #1197455)
Utilizator | Data | 12 iunie 2014 00:19:46 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <cstdio>
using namespace std;
FILE *f=fopen("ssm.in","r");
FILE *g=fopen("ssm.out","w");
int main()
{int n,x,i;
int bestsum=-1<<30,sum=0,beg,fin,idx;
fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
{fscanf(f,"%d",&x);
if (sum<0) {sum=x;
idx=i;}
else {sum+=x;
if (bestsum<sum) bestsum =sum,beg=idx,fin=i;
}
}
fprintf(g,"%d %d %d\n",bestsum,beg,fin);
return 0;
}