University of Alberta
2003 Alberta Collegiate Programming Contest

October 18, 2003, 11:00-16:00

Problems with judging problem C

I announced the version of Linux, gcc and Java that I was to use for judging. I have not been aware that there was something terribly wrong with iostream I/O in C++ in this version of gcc, namely that it was so slow.

Problem C was tested on quite sizable input and the following teams were adversely affected to a various degree: acm001 acm003 acm004 acm006 acm007 acm008 acm011 acm012 acm015 acm018 acm021 acm028 acm031 acm038 acm039. The time limit that I used for this problem was 4s. If it has been 10s or I used a different version of gcc for judging then many verdicts would have been different (either Accepted, Incorrect or Run-time error instead of Time limit).

Several teams diagnosed the problem and they quickly recovered (e.g. acm012), others did it not so quickly. Probably teams acm003 (Calgary) and acm004 (Lethbridge) suffered most. The first submission of C by acm003 was correct but the terrible slowness of I/O with C++ iostream made it too slow with the set time limit.

If I rejudged problem C for these teams then their time penalty would have changed but their final rank would not and therefore I am inclined to leave the standings as they are.

Such mishaps skew the results of such contests in an uncontrolable way which is impossible to correct afterwards.

I am terribly sorry for this mishap.

Piotr Rudnicki

PS I had my solution to problem C in C++ but I always use stdio and I have not been aware of the problem.