I think you need a couple of days in cusco to allow your body some time getting used to the altitude. Also from a cruise ship (if you choose machu picchu) you will miss out on Lima, which is a wonderful city.
Do a land vacation to Peru. You will not be sorry. We used a very good tour company and paid less than 1000 dollars p.p. including air, nice hotels, and the train tour to machu picchu, which was a nine night tour of Lima, Cusco and M.P.
There are several other ruins and attractions to see on this trip as well.