All pastes #640412 Raw Edit

Miscellany

public c v1 · immutable
#640412 ·published 2007-07-31 11:39 UTC
rendered paste body
#include <stdio.h>#include <math.h>int obelix(int *array, int size){	int j;	int i;	int menir = 0;	for (i = 0; i < size; i++) {		j=1;		if ((array[i] * array[j]) < 0) {			if (array[i] > array[j]) {				menir += abs(i-j) * abs(array[i]);				array[i] -= abs(i-j);				array[j] += abs(i-j); j++;			}			else {				menir += (abs(array[i+1]) + 1) ;				array[i] += abs(i-j-1);				array[j] -= abs(i-j+1);							j++;			}		} 	}	printf("%d\n", menir);	return menir;	}int main(){FILE *fasterix;	fasterix = fopen("asterix.input", "r");	if (fasterix == NULL) {		printf("Can't read asterix.input\n");		return 1;	}	int c, i, size;	int j = 0;	while (!feof(fasterix)) {	fscanf(fasterix, "%d", &size);	if (size != 0) {		int array[size];			for (i = 0; i < size; i++) {				fscanf(fasterix, "%d", &array[i]);			}			obelix(array, size);					}	}	fclose(fasterix);	return 0;