Pagini recente » Cod sursa (job #2244499) | Cod sursa (job #2155823) | Cod sursa (job #675762) | Cod sursa (job #1161066) | Cod sursa (job #540369)
Cod sursa(job #540369)
//http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.12.html
#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);
size_t dim = 1028*64;
//printf("%d",dim);
setvbuf(in,NULL,_IOFBF,dim);
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);
}