'Elysium' tops box office with $30.5 million