All pastes #640309 Raw Edit

Miscellany

public text v1 · immutable
#640309 ·published 2007-07-31 09:00 UTC
rendered paste body
#include <stdio.h>
#include <math.h>
#define max(a,b) a > b ? a : b
#define min(a,b) a < b ? a : b

int obelix(int *array, int size)
{
	int i;
	int menir = 0;
	for (i = 0; i < size; i++) {
		int j = 1;
		if ((array[i] * array[j]) < 0) {		
			menir += (abs(i-j)) * abs(max((array[i]), (array[j])));
			if (array[i] > array[j]) { 
				array[i] -= abs(i-j);
				array[j] += abs(i-j);
			}
		}
		else 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;
}