Pagini recente » Cod sursa (job #48782) | Cod sursa (job #533242) | Cod sursa (job #860193) | Cod sursa (job #502339) | Cod sursa (job #540362)
Cod sursa(job #540362)
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE * out = fopen("ssm.out", "w");
FILE * in = fopen("ssm.in", "rb");
//printf("%d",BUFSIZ);
char * buffer = calloc(BUFSIZ,sizeof(char));
setbuf(in,buffer);
int n;
fscanf(in,"%d",&n);
int i;
int suma = 0;
int startIndice = -1;
int endIndice = -1;
int maxSuma = -1* (1<<16);
int maxStart = -1;
int maxEnd = -1;
for ( i=0; i<n; i++){
int k;
fscanf(in,"%d",&k);
if ( k>k+suma ){
suma = k;
startIndice = i;
endIndice = i;
} else {
suma=suma+k;
endIndice = i;
}
if ( suma>maxSuma){
maxSuma = suma;
maxStart = startIndice;
maxEnd = endIndice;
}
}
fprintf(out,"%d %d %d",maxSuma,maxStart+1,maxEnd+1);
fclose(out);
fclose(in);
}