Введение

Канадский конкурс по информатике (CCC) — ежегодное соревнование по программированию для учащихся средних школ в Канаде, организованное Центром образования в области математики и информатики при Университете Ватерлоо. Первый этап проводится в школах, и участники могут выбирать язык программирования по своему усмотрению, за исключением некоторых, таких как Maple и Mathematica. Предлагаются два уровня задач: младший и старший. Двадцать лучших (приблизительно) участников старшего уровня приглашаются в Университет Ватерлоо для участия во втором этапе — Канадской олимпиаде по информатике (CCO). Участники CCO должны использовать языки программирования, разрешенные на IOI, которые в настоящее время включают только Java, C и C++. (Поддержка Pascal была прекращена в 2019 году). CCO используется для отбора студентов, представляющих Канаду на IOI. Задачи CCC носят алгоритмический характер и призваны проверить способность студента разрабатывать и кодировать алгоритмы, а не его знания API или специфических возможностей языка. Второй этап сложнее первого, но все же проще, чем IOI. Задачи обычно имеют ограничения по времени или памяти, что требует от программиста поиска эффективных решений для получения максимального балла. В конкурсе также могут участвовать студенты из Гонконга (с 2005 года) и Пекина (с 2007 года), однако они не имеют права входить в состав канадской команды на IOI.

Канадская олимпиада по вычислительной технике (CCO)

CCO длится два дня, в течение которых на решение трех задач отводится четыре часа каждый день. Всего предлагается шесть задач, каждая из которых оценивается в 25 баллов. Итоговый результат в Канадском конкурсе по информатике определяется суммой баллов, набранных на первом этапе и в CCO. Награждаются бронзовые, серебряные и золотые медали, причем каждый участник получает медаль; победители, завоевавшие золотые медали, приглашаются представлять канадскую команду на IOI.