Geez, same story as last time. I got the easy problem done in about 10 minutes, and was two edge cases away from submitting the medium problem. But I didn't make it, and now I'm down to percentile 50.3894. *sigh*
One thing that tripped me up was that I put a print statement in the wrong place on the easy problem, in an inner loop. This hosed my TopCoder client and I had to kill the client and log back in. That cost me a precious minute or so.
The bigger problem was that I didn't immediately recognize that "swap" is code for bubble sort in the problem statement. Bubble sort is rarely recommended for real-world use, but of course that's no excuse.
I tried another challenge, this time for real. Each program has 2 seconds to run or it gets ruled out as "time limit exceeded," or TLE. I tried to construct a maximal test case for the medium problem, but it wasn't big enough. Probably as a general rule, TLE attacks aren't going to work except on the harder problems. But, again, had I recognized this as bubble sort, I would have constructed a better test case than I did.
Next match is December 17. Maybe I'll try doing the medium problem first.