#include #include #include struct river { int left; int right; }; int main(void) { int n, i; scanf("%d\n", &n); for(i = 0; i < n; i++) { int d, j; scanf("%d\n", &d); struct river * rivers = malloc(d* sizeof(struct river)); unsigned min = -1; for(j = 0; j < d; j++) { scanf("%d %d\n", &rivers[j].left, &rivers[j].right); } for(j=0; j < d; j++) { int k; for(k = 0; k < d; k++) { int sidedif = (rivers[k].right- rivers[j].left); //printf("left: %d right: %d sidedif: %d", rivers[j].left, rivers[k].right, sidedif); unsigned new_min = -1; if ( sidedif < 0 ) new_min = j > k ? j - k : k - j; else new_min = sidedif + (j > k ? j - k : k - j); //printf("\tnewmin %u\n", new_min); min = new_min < min ? new_min : min; } } free(rivers); printf("K prechodu reky je treba %d pontonu.\n", min); } return 0; }