You should make the timing test dynamic. The current optimally vectorized solution is about 7 or 8 times faster than the default looped solution. You could add a test that confirms at least a 75% time reduction.
Actually arrayfun should also be outlawed, as that simply hides the loop at a performance cost. I haven't seen a vectorized solution yet, only recursions and implicit loops (and the usual cheat-submissions). If you want a more robust cheat-detection you should have a separate test which runs as first test. That one should not call the submission to avoid it overwriting functions like fileread and assert.
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.