{
if (a > b) return a; else
return b; }
int go(int stage) {
int i, j, num, tmp, ans; if (stage == RIGHT_TO_LEFT) { num = 0; ans = 0;
for (i = 1; i <= n; i++) if (pos[i] == RIGHT) { num++;
if (time[i] > ans) ans = time[i]; }
if ( ① ) return ans; ans = INFINITY;
for (i = 1; i <= n - 1; i++) if (pos[i] == RIGHT)
for (j = i + 1; j <= n; j++) if (pos[j] == RIGHT) { pos[i] = LEFT; pos[j] = LEFT;
tmp = max(time[i], time[j]) + ② ; if (tmp < ans) ans = tmp; pos[i] = RIGHT; pos[j] = RIGHT; } return ans; }
if (stage == LEFT_TO_RIGHT) { ans = INFINITY;

