Суть поста вкратце: я считаю, что на олимпиадах, целью которых (хотя бы отчасти) является выявление победителя, задачи должны быть составлены так, чтобы победитель не набрал максбалл — победитель должен скорее набирать процентов 70-80. .
...Давным-давно, когда я еще учился в школе, я слышал такое утверждение: задачи на олимпиаде по математике подобраны хорошо, если победитель набирает максимальный балл, и при этом победитель единственный.
Не знаю, как для математики (хотя не вижу, почему аргументация ниже не применима к математике), но, на мой взгляд, это не самый правильный подход для информатики. Основная причина — когда задачи составляются таким образом, цена ошибки резко возрастает.
Фактически, утверждение «победитель набирает максбалл» эквивалентно утверждению «для победы надо решить все». Это обозначает, что у участников, претендующих на победу, нет права на ошибку. Любая мелкая ошибка, любая немного недодуманная идея — и у участника не максбалл, и победителем станет кто-то другой, кто этой ошибки не допустит.
При этом тот факт, что один допустил ошибку, а другой нет, вовсе не обозначает, что второй сильнее. Может быть, первый умеет решать более сложные задачи, может быть, он на самом деле допускает ошибки реже, но вот тут попалась нелюбимая тема, затупил, или просто рандом лег так, что он допустил ошибку, а другой нет.
Если бы на олимпиаде были бы еще дополнительные задачи, вполне может быть, что первый участник смог бы решить больше, но в ситуации, когда второй решает всё, первому не остается ничего, кроме как добивать эти последние баллы.
То, что получается, в Что-Где-Когда называется «игра в дырки» — «игра на слишком лёгком пакете вопросов, когда неправильный ответ на один вопрос потом чрезвычайно трудно компенсировать и догнать конкурентов» (http://mak-chgk.ru/metod/sleng/). В ЧГК это очень меткий термин: если вопросы в пакете простые, важным становится не то, какие вопросы взяла какая команда, а какие вопросы какая команда не взяла.
Поэтому я считаю, что в олимпиадах задачи должны быть намеренно подготовлены так, чтобы даже победитель не решал всё. Идеальная ситуация в плане определения победителя, имхо — это когда победитель набирает половину баллов. Именно здесь, кажется, результаты олимпиады обладают наибольшей точностью и различные случайные эффекты меньше всего влияют на итоговые результаты. (Действительно, в силу изложенного выше, плохо, если победитель решает всё или почти всё; с другой стороны, очевидно, что если даже победитель не решает почти ничего, то победитель тоже будет случайным — просто кому чуть больше повезло набрать на гробовых задачах. Поэтому нужно что-то среднее.)
Но целью олимпиады обычно является определение не только победителя, но и призеров, поэтому мне представляется разумным, чтобы победитель набирал процентов 70-80 от максимума: это не слишком близко к максимуму, но также и позволяет вести довольно разумную борьбу за последующие места.
Конечно, такой принцип про проценты недостаточно просто так вслепую применять. Те задачи, которые победитель не решает, должны быть все-таки доступны; бессмысленно давать совсем гробовые задачи, которые точно не решит никто. Дополнительные задачи нужны не «для галочки», а для того, чтобы у сильных школьников был выбор, что решать. Вообще, совсем идеально (хотя и довольно сложно подготовить) — если каждую задачу кто-то решил полностью, но при этом у победителя только 70-80% баллов.
Также, конечно, всё вышесказанное относится в первую очередь к олимпиадам, явно направленным на определение победителя. Существует много олимпиад, не ставящих целью определение победителя. Например, такими являются раунды codeforces, или многочисленные «поступательные» олимпиады — не так важно, кто конкретно выиграет «поступательную» олимпиаду, важно, кто получит дипломы, т.к. именно они являются основной ценностью.
Вообще, на поступательных олимпиадах я бы по аналогичным причинам считал, что разумный набор задач должен быть таким, чтобы граница дипломов проходила в районе 50% баллов (точнее, т.к. есть два типа дипломов — то граница одного типа где-нибудь в районе 70-80 процентов, а другого типа — в районе 30-50). Аналогичные соображения относятся к олимпиадам, основной целью которых является отбор куда-либо (разные отборочные туры, а также школьные и муниципальные этапы в тех школах/регионах, где победа на этих этапах не считается особым достижением, и т.п.) — проходной балл в идеале должен быть в районе 50% от максбалла.
UPD: еще ситуация, когда победитель вполне может набирать максбалл — это если заранее понятно, что среди участников есть один, который на две головы сильнее всех остальных. Тогда нет большого смысла делать для него гробы (хотя и можно), пусть он себе набирает максбалл, но пусть тогда второе место (раз уж именно за второе место будет основная борьба) вот как раз и набирает процентов 70-80.
(В общем-то, эти мысли у меня уже были давно, лет пять-десять как минимум, и я давно хотел написать этот пост, но все руки не доходили.)
(Кстати, казалось бы, аналогичные соображения применимы и к другим ситуациям. Вот, например, собеседования в IT-компании. По аналогичным соображениям представляется разумным, чтобы собеседование готовилось бы так, чтобы сотрудник того уровня, которого они хотят нанять, решал бы половину задач — иначе они рискуют нанять не действительно лучшего, а просто того, кому больше повезло.)
На олимпиадах по математике обычно бывает так, что если кто-то может решить последнюю задачу, то победитель решает всё. Видимо, дело в том, основной ресурс, который нужен, чтобы решить задачу не время, а умения или личные способности.
На хороших олимпиадах по информатике, я считаю, основным ресурсом тоже должны быть личные способности (и в своем посте я исхожу тоже из этого). Но проблема-то есть та же: а что если есть сильный участник, который по каким-то случайным причинам недорешал последнюю задачу, и в итоге проиграл объективно менее сильному?
Недорешал или не решил? Как правило, с сильными участниками это бывает в первой задаче.
Пусть недорешал (т.е. получил частичный балл), или, если задач много, то пусть не решил; не важно, в какой задаче; важно что любая, даже мелкая ошибка на относительно простых задачах приводит к тому, что ее компенсировать невозможно ничем.
Рассуждения правильные, но мне кажется, на практике, достаточно сложно определить в соревнованиях уровень задач, чтобы прикинуть кто сколько задач решит, и каким будет распределение очков в таблице. Вот если вы опишите малозатратную методология оценки распределения очков по набору задач... :)
А насчёт разницы с математикой — то тут есть существенное отличие. Чтобы получить макс. балл на соревновании по математике, нужно уметь строго доказывать, и соответственно если победитель решает всё, значит он действительно всё решил
А на соревнованиях по программированию, задачи частенько сдают, не будучи уверенными в том, что это решение действительно верное. Сообщения от красных, вроде "Кто объяснит, почему моё решение работает?" можете почитать вот здесь — http://codeforces.net/blog/entry/43435 :)
Малозатратная методология оценки называется "опыт авторов":)
Часто используется в АСМ-контестах, во многих из которых решаемых задач больше чем лучшая команда успевает решить за 5 часов.
Ну, во-первых, если олимпиада проходит не первый год, то уровень участников и их результаты обычно довольно легко предсказать. Если олимпиада проводится впервые, то все равно зачастую можно, исходя из аналогичных олимпиад и т.п.; ну или в конце концов для олимпиады, проводящейся впервые, ошибки с определением уровня задач более простительны.
Если вы уж совсем не представляете, какой силы ожидать от участников, то можно сделать несколько задач с запасом — нарастающей сложности такой, что самую сложную точно никто не решит. Тогда сколько бы не набирал победитель, у его конкрутнтов всегда будет пространство для маневра.
А вообще вот как раз-таки мой подход намного менее чувствителен к точности угадывания уровня участников. Ну чуть переборщили со сложностью — ну победитель наберет не 70-80 процентов, а 50-60; ну чуть наоборот переупростили — победитель наберет 90%, ну пусть даже максбалл, но это будет максбалл "на пределе", и второе место будет от него отставать по-честному, а не из-за мелкой ошибки.
А подход что «победитель обязан набрать максбалл» намного более опасен в случае, если силы участников сложно оценить — если даже немного промахнуться и сделать задачи слишком простыми, то будут два максбалла (и несколько человек лишь из-за случайности не набравших максбалл), что совсем плохо.
А про разницу с математикой — да, это интересный аргумент, хотя мне и не очень понятно, в какую сторону он работает. Если победитель набирает максбалл, то все-таки должен по всем задачам набрать полный балл, а вот если победить можно, не набирая максбалл, то (как минимум в школьных олимпиадах, где оцениваются и частичные решения) кажется, что победить может быть можно, заслав непонятно-что туда, куда это засылается. Поэтому с точки зрения возможности сдать решение без доказательства, может быть, подход «победитель набирает максбалл» и разумнее.
С другой стороны, на самом деле, я считаю, что олимпиада, на которой сложные задачи решаются без доказательства — это в большинстве случаев не самая правильная олимпиада; наличие таких задач во многих случаях — это вина жюри.
Но с третьей стороны, это всё имеет косвенное отношение к определению справедливости победы. Если участник А сумел заслать фигню (точнее, не фигню, а недоказанное, но корреткное решение), а участник Б не сумел, то при прочих равных разумно считать участника А более крутым. (Конечно, речь не про ситуацию неполных тестов, там полностью вина жюри.) И вообще, это уже более глобальный вопрос — вопрос о том, что вообще «проверяет» олимпиада (надо ли требовать умения тщательно тестировать? Надо ли требовать умения делать неасимптотические оптимизации? Нужно ли награждать за неполные эвристики?), а не вопрос корректного выбора сложности задач при фиксированном понимании того, что «проверяет» олимпиада.
Автокомментарий: текст был обновлен пользователем KAP (предыдущая версия, новая версия, сравнить).
Полностью поддерживаю автора, в том числе и из-за того, что сам оказался в такой ситуации.
Как по мне лучший вариант — добавить на одну-две больше задач, чем лучший участник может решить за отведенное время — тогда проще всего определить, кому повезло, а кто действительно достоин победы на соревновании.
Вот здесь было очень неплохое обсуждение. Перевел на свой комментарий, потому что в нем была четко изложена моя позиция по данному вопросу. В целом, данный вопрос время от времени поднимается как на просторах ресурса, так и вообще в сообществе СПшников(почти одно и то же, но все же...), и однозначного ответа на данный вопрос нет. Есть мнения "за", есть — "против"
Я почитал, но не вижу там серьезного обсуждения именно той проблемы, про которую я пишу. Там смешано в кучу много вопросов, и все это еще делается на примере нескольких контестов, и выявить четкие мысли и точки зрения имхо там сложно. Плюс там еще обсуждаются более специфические вещи, такие как наличие на ACM-контесте монитора, на который принято ориентироваться. С вашим мнением я согласен, но по той проблеме, про которую я пишу, там только одна фраза ("...чтобы как минимум одна задача(на написание которой при знании алгоритма уйдет не более часа) осталась нерешенной"), имхо не поясняющая сути проблемы никак.
Ясно, что то, что я написал в этом посте — это не единственное требование к задачам, но я хотел обратить внимание на проблему именно той ситуации, когда победитель решает все.
Во-первых, на мой взгляд, там гораздо, ГОРАЗДО больше написано, чем то, что заметили Вы. В частности, еще говорится о том, например, что проблемсет должен не только определять победителя, но и остальные места определять достаточно хорошо, задачи должны возрастать по уровню сложности, и скорость этого роста должна определяться разницой в уровне между командами. На мой взгляд, того, что я написал в том комментарии, более чем достаточно, чтобы полностью раскрыть мысль. Но, если Вы в чем-то не согласны или если я, по Вашему мнению, что-то упустил(хотя я, на мой взгляд, не упустил абсолютно ничего — возможно, выразил недостаточно четко свою мысль), спрашивайте — могу уточнить.
Во-вторых, как мне кажется, обсуждать тот вопрос, который предлагаете Вы, в отрыве от всех остальных — как минимум странно. Не потому, что Ваш вопрос не такой важный, а потому, что, как только перейдем к более тщательному рассмотрению вопроса, появится понимание, насколько он связан со всеми остальными. Давайте перейдем от теоретической части к более практической
Итак. Вы хотите дать контест, который будет интересен участникам и более-менее справедливо расставит их в итоговой таблице результатов. Что в этом случае надо? 1) Чтобы хотя бы одну задачу решил каждый участник, иначе совсем слабым участникам будет скучно 2) то, что говорите Вы — чтобы осталось несколько задач "про запас". 3) Еще раз повторюсь, чтобы распределение было "справедливым".
Но что же такое "справедливое распределение"? Если это четверть-полуфинал АСМ ICPC или любое другое отборочное соревнование — то нас, прежде всего, интересует, чтобы все участники, которые объективно должны проходить в следующий этап — прошли туда. То есть, нужно разделить группу прошедших в следующий этап и не прошедших туда. Более детально, мы должны подобрать такие задачи, которые четко разделят группы прошедших и не прошедших. Как эти прошедшие распределятся в итоговой таблице — дело уже второстепенное.
Если же мы ведем речь о финале ACM, или о GCJ, или RCC, то есть о любом турнире, где основная задача — выявить самого сильного, далее — выявить группы сильнейших, то мы уже должны составлять совершенно другие группы. А именно: 1) задачу/задачи на выявление победителя 2) задачи на выявление первой/второй/третьей группы призеров.
И здесь автор должен учесть: 1) Какой будет формат соревнований. Об этом уже говорилось, как это влияет 2) Какой будет состав участников. Хотя бы те команды, которые, как предполагается, войдут в эти самые "интересные" группы 3) Дальше можно включить самые различные мелочи: знания команд о том, какие задачи предпочитает давать "творческая группа", условия проведения контеста и т.д. и т.п.
То есть то, что говорите Вы, на мой взгляд, правильно(хотя здесь, на КФ, есть и другие мнения), но явно не достаточно.
А я и не претендую на то, чтобы описать полностью все требования к идеальному контесту. (На самом деле, я даже считаю, что описывать полные требования к идеальному контесту бессмысленно, т.к. их будет очень много, обсуждение растащит их по отдельным тезисам и никакого результата не будет.) Я хотел подчеркнуть вполне конкретную проблему, которой, как мне кажется, зачастую уделяется мало внимания.
Поэтому на бОльшую часть вашего комментария я отвечать не буду, я с ней в общих чертах согласен, но уводить обсуждение в сторону не хочу.
Категорически не согласен. Ну точнее если это 1/8 финала, или даже может быть 1/4, то еще может быть; но на NEERC имхо определение чемпиона не менее важно, чем определение списка проходящих команд. Уровень соревнования тут не так существенен, существенно то, насколько престижно стать победителем. Если это действительно чисто отборочный тур, то да, не имеет значения. Но если это еще и контест сам-по-себе, с награждением победителей, то определять победителя важно. Я даже сказал бы, что на NEERC определение победителя важнее, чем определение проходящих команд, хотя бы потому, что на границе прохода на финал результаты плотнее, а потому в принципе результаты менее определены.
Вы совершенно забываете, что на NEERC очень существенно одно правило: проходят только по одной команде от ВУЗа. Поэтому зачастую контесты строятся так, чтобы от каждого из топовых ВУЗов выявлять по одной, самой сильной, команде. И нередко это разделение приходится делать даже в первой тройке призеров.
И вы совершенно отказываетесь понимать(не понимаю, неужели это так сложно? Или я настолько плохо это объясняю?), что количество решенных задач победителем как раз зависит от условий проведения.
Это все, конечно, очень хорошо, но я не очень понимаю, за счет чего вы предлагаете добиваться этих 70-80% (имеется ввиду относительно гарантировано со стороны жюри)
Я вижу на поверхности только два пути: 1) задачи очень сложные, но тогда гробы никто не решит и смысла никакого нет (вы и сами это упоминали) 2) задачи вполне решаемые, но тогда непонятно, что (кроме времени) мешает лидеру(ам) решить все. А если это все-таки время — как-то не круто, что побеждает не тот, кто может решить больше, а тот, кто успевает решить больше.
Есть еще вариант, когда есть задачи сложности разных тематик, чтобы люди могли выбрать разные задачи, но тогда нужно больше задач, чем это бывает (особенно на личных соревнованиях)
Я же пишу: добиваться нужно тем, что давать задачи сложнее, чем из расчета "победитель решает всё". Более того, казалось бы (и про это я уже писал в одном из комментариев выше), гарантированно со стороны жюри добиться 70-80% проще (с учетом того, что и 60-90% сойдет в крайнем случае), чем гарантированно добиться 100% от ровно одного участника.
Да, если в олимпиаде только четыре задачи, то этого добиться сложно (хотя в принципе тоже можно, см. ниже). Но если задач уже 8 (как на многих серьезных школьных личных олимпиадах), то не представляется большой проблемой сделать 2-3 достаточно сложные задачи на разные темы, чтобы участники могли выбирать.
Но на школьных личных олимпиадах есть еще одна особенность: оцениваются и частичные решения тоже (и последнее время этому уделяется все больше внимания). Поэтому в принципе вообще не обязательно, чтобы низ таблицы решал полностью хотя бы одну задачу — пусть они решают свои подзадачи, а топ будет добивать задачи до конца. Можно давать задачи, в которых полное решение одинаково сложное, в расчете на то, что низ таблицы не решит ничего полностью (но решит подзадачи), а топ будет выбирать, что лучше.
Точнее, конечно, не очень психологически хорошо, если нет халяв, которые почти все решают полностью, — поэтому вполне можно делать одну халяву, которую решат все, одну задачу, в которой есть халявные подзадачи, но полное решение напишет только топ (но напишет), и две задачи на разные темы примерно одной сложности, в которых всё еще есть халявные подзадачи, есть подзадачи средней сложности, но которые полностью обе победитель не решит — вот вариант и для четырех задач. Конечно, это довольно спорный вариант, но если задач больше 4, то уже всё вполне реально.
А про давление времени — непонятно, почему давление времени в моей схеме сильнее, чем в схеме "надо решать всё полностью". Скорее даже наоборот, если надо решать всё полностью, то вот надо успеть, и есть риск, что кто-то придумает всё, но написать не успеет. А если есть запас и сложные задачи сложнее, то сильный участник уже может выбрать то, что он напишет быстрее и/или надежнее, а не столь сильный участник может некоторые задачи просто не придумать.
На открытой московской олимпиаде никто обычно не набирает полный балл, а задачи там на любой вкус (в 2013 году так было, по крайней мере)
Которая "заочка"? Там, конечно, нет максбаллов (и это уже лучше, чем если бы был максбалл), и хорошо, что у вторых мест решены те задачи, которые не решены у победителя, но, на мой взгляд, там все равно победитель набирает слишком много. За последние три года 796, 744, 780; вот, например, в прошлом году у второго места единственный шанс обойти первое место был решить вторую задачу полностью — и это то самое отсутствие пространства для маневра, про которое я и пишу. В 2014 году лучше, там у второго места был вариант, какую задачу дорешивать.
Кстати, к олимпиадам совсем высокого уровня Ваша логика неприменима -- слишком уж большой разброс участников. Например, на межнаре по математике цена бронзы/серебра/золота колеблется в районе 33%/50%/66%, хотя есть как и полные баллы (5-10 человек в районе 95-100%), так и абсолютные нули (штук 30-40).
К олимпиадам какого уровня вы хотите применить свои аргументы? Например, для московской открытой олимпиады все и так хорошо, потому что там раздают полным полно первых дипломов, вряд ли 20е место чувствует себя сильно ущемленней 10го)
20-е относительно 10-го — возможно. А второе относительно первого?
Если первое место ничего не обозначает, то да, мои аргументы неприменимы, но это в посте написано. Но на многих олимпиадах (и на межнарах тем более!) звание победителя очень престижно, если даже и не приносит никаких материальных плюшек. Поэтому считаю, что и для межнара эта же логика применима. Если разброс участников большой, то надо и разброс задач делать соответствующим.
Вот в вашем примере межнара по математике почему бы не сделать пару самых сложных задач еще сложнее? Границы медалей останутся примерно там же, да и вообще для границ медалей мало что изменится (там, видимо, и так никто самые сложные задачи не решает), но зато победитель будет адекватно определен.
Ну, олимпиаду обычно проводят для всех 600 участников, а не только для первых двух мест=)
К тому же, вся прелесть обычно в вариативности зарабатывания медали, например, можно не решить 2ю задачу, зато решить 3ю — ну это я так делал:) Если же сделать последние две задачи архисложными, то начнется как раз-таки та самая игра в дырки на четырех оставшихся задачах, что не варич)
Так что у большинства олимпиад цель, видимо, не определение победителя. Кстати, под вашу логику хорошо укладываются всякого рода отборы команда — там важно только попасть в четверку, шестерку, или еще какое-то количество "квалификационных" мест
Я считаю, что определение победителя — это одна из существенных задач многих олимпиад (но не говорю, что всех вообще, конечно). В конце концов, за победу вручают хорошие призы, нередко кубок — если мы проводим олимпиаду для всех вообще, то зачем вручать кубок?
Если мы говорим про школьные олимпиады (6 задач), то в последних двух должны быть подзадачи промежуточных сложностей. Потом, пусть мы делаем последние две задачи не архи-сложными, а просто сложными, чтобы полностью их решил только один человек — сильно это поможет среднему участнику? Средний участник (т.е. не ведущий борьбу за победу) и так почти наверняка не решит последние две задачи, так что для него от их усложнения мало что изменится.
Вообще, опыт показывает, что для "вариативности" результатов (то есть, когда у всех участников разные баллы) в вариант стоит добавить:
Во-первых, технические задачи (где можно заработать/потерять баллы на разборе случаев) — с этой точки зрения плохими являются "идейные" задачи, где получаешь или полный балл, или 0
Во-вторых, марафонские задачи, где баллы берут всякие эвристики, а полный балл также невозможен
Мне интересно почему в этом посте совсем не затронут вопрос затрат на подготовку этого "пространства для второго места". Лично я считаю, что просто отсутствия максимального балла достаточно, это значит, что любой мог сделать что-то, чтобы победить.
К сожалению, нужно отметить, что "цена ошибки" в разных задачах разная, и это нужно признать. Причем не всегда у участника есть возможность ее реально оценить.
Про 30% за диплом. Вот лично я думаю, что это мало. И тут цифра в 50% вполне хороша, все же почти во всех соревнованиях нижний предел наград это такой "квалификационный уровень", который участники должны проходить тоже не случайно, а показывая свои знания.
В каком смысле "затрат"? Что жюри надо готовить более сложные задачи? Как-то не кажется, что для жюри это сложнее, чем подготовить задачи так, чтобы был ровно один максбалл...
Да, отсутствие максбалла лучше, чем его наличие. Но если второе или третье место решили все, кроме одной задачи, в которой они набрали разное, но большое число баллов, и именно по этой задаче в итоге и произошло распределение первых мест — имхо это всё еще неправильно.
Про цену ошибки тоже толком не понял, к чему этот аргумент.
Про нижнее количество баллов за диплом — да, безусловно, квалификационный уровень должен быть, но он вовсе не обязан на самом деле как-то соотноситься с максбаллом, достаточно, чтобы его нельзя было получить совсем уж случайно. Мне кажется, что, например, на типичных школьных олимпиадах с 8 задачами решения 2-3 задач может быть вполне достаточно, чтобы показать свои знания. Давать такие задачи, чтобы последний диплом решал 50% — значит оставлять слишком мало пространства для соперничества за более высокие места. (И заставлять топ решать слишком много халявы.)
Вообще да, если бы у нас был бы только один уровень, за который идет борьба (например, за получение диплома), то да, 50% — кажется оптимальная цифра. Но если уровней несколько, то представляется разумным их раскидывать вокруг 50% — какой-то уровень делать выше, какой-то ниже.
Пока читал пост автора и комментарии к нему, придумал интересную задачу. Пока думал над этой задачей, забыл про что изначально был пост. Поэтому просто спасибо за полезное обсуждение.
Я тоже придумал задачу. И похоже я знаю какую ты придумал.
.
Я считаю, что рассуждения применимы к любым соревнованиям, где определяется победитель. Про частичные баллы я вроде писал только в комментариях, в ответ на обсуждение олимпиад по математике (где, как я понимаю, нет аналога ACM), и в ответ на возражение, что на IOI-стайл слишком мало задач.
В ACM, считаю, все аналогично: победитель не должен решать всё (со всеми оговорками, написанными в посте), чтобы у претендентов на победу была возможность задачу, которую почему-то решить не получилось, компенсировать какой-нибудь другой.
.
Я нисколько не возражаю против этого, этот принцип вообще довольно близок тому, про что я пишу. Если хотите, то я предлагаю расширить этот принцип не только на ACM. Ну и еще считаю, что "лидер всё не сдал" недостаточно, надо чтобы он в типичных ACM-контестах (10+ задач) не сдал хотя бы две задачи.
Про время тоже было в ветке обсуждения про разницу с математикой. Да, конечно, время в олимпиадах по программированию важно (хотя и по-разному; мне всегда казалось, что давление времени особенно чувствуется в контестах типа codeforces, меньше в ACM и еще меньше в IOI-style). При этом лично я считаю, что чисто время (скорость кодирования или прочих действий) не должно быть определяющим фактором, определяющим фактором должно все-таки быть умение решать задачи. При этом время может быть косвенным фактором, например, если человек пишет код надежно, то он будет намного меньше времени тратить на тестирование и отладку, но первично здесь все-таки написание надежного кода, а не написание кода на время.
Вообще, казалось бы, с увеличением сложности задач время, необходимое на их решение, растет экспоненциально, и у любого участника есть порог по сложности задач, выше которого он прыгнуть не может, поэтому если любой контест сделать бесконечно длинным (и считать, что участники не устают), то все равно результаты стабилизируются на чем-то. Конечно, на ограниченном по времени контесте результаты до этой стабилизации не дойдут, и не должны доходить, но имхо они должны быть скорее к ней близки.
Но вообще это отдельный вопрос, не связанный с темой поста. Не важно, насколько существенно время; даже если время и очень существенно, все равно имхо победитель не должен решать всё.