#include #include 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;