Took me a long time, but I finally got this one. The trick: for each array index, find the highest entry between there, and there+nswaps left. Then go to the next array index. I had to resubmit, for a measly 100 points, but I still went up 60 ratings points.
No clue. The robber's rate plus the train's rate, taking into account where hs is on the train, and he might have to wait between cars, etc.etc.etc., it seems like some kind of evil pre-calc problem from 11th grade. ("A man is filling a bathtub with two hoses. The first hose fills at a rate of 1 liter/hr, and the second one fills at a rate of 2 liters/hr. But, the drain is open, but not right away, only every 10 seconds for 1 second, draining at a rate of 0.5 liters/hr. Which comes first, the chicken or the egg?")
I think only 10 people got it right.
I didn't even read the whole problem, but it sounds hard, and I think only 6 got it right.