Time the program with and without the #pragma and try moving it around. This is standard practice when testing optimizations. Once you have a baseline timing without optimization you can assess each optmization separately and see the effect.
Once you have the timings, you need to _explain_ why you have different timings.
The answer to both your questions are related. That's as much as I will say given it's an assignment.
btw, that's a very interesting #pragma, can you tell me which compiler you are using? I guess it's Intel icc, would be super interested if it's gcc/g++.