program main implicit none integer :: N, i, j, tmp integer, allocatable :: A(:) read *, N allocate(A(N)) read *, A(:) ! 配列 A のソートをすればよい。 ! まあ、普通に bubble ソートかな? do i = 1, N do j = i + 1, N if (A(i) > A(j)) then tmp = A(i) A(i) = A(j) A(j) = tmp end if end do end do if (mod(N, 2) == 1) then print *, A(N / 2 + 1) else print *, (A(N/2) + A(N/2 + 1) + 0.0)/2 end if end program main