fscanf(STDIN, "%d", $A); fscanf(STDIN, "%d", $B); fscanf(STDIN, "%d", $S); //$A = 10; //地下まで行けるエレベーター //$B = 50; //地上のエレベーター //$S = 30; //地点 $ans =""; if(abs($S-$A) == abs($S-$B)){ $ans = abs($S-$A) + $ans; }elseif($S >= $A && $S >= $B){ //Sが一番上のとき if($A >= $B){ //SAB $ans = $S * 2 - $A; }else{ //SBA $ans = $S * 2 - $B; } }elseif($S <= $A && $S <= $B){ //Sが一番下のとき if($B >= $A){ //BAS $ans = $A; }else{ //ABS $ans = $A - $S*2 +1; } }else{ //Sが真ん中のとき if(abs($S-$A) >= abs($S-$B)){ $ans = $B; }else{ $ans = $A; } } echo $ans;