Блог пользователя vepifanov

Автор vepifanov, 10 лет назад, По-русски

1 октября в 17:05 Мск состоится отборочный раунд Intel Code Challenge. Официально в соревновании смогут принять участие ТОЛЬКО граждане РФ в возрасте от 18 до 27 лет. Все остальные пользователи Codeforces смогут принять в нём участие, как в обычном раунде.

Для участников Intel Code Challenge.
Для того, чтобы принять участие в Intel Code Challenge, необходимо ознакомиться с условиями проведения соревнования здесь http://codechallenge.ipdnn.com/ и здесь http://mirror.codeforces.com/blog/entry/47238 и зарегистрироваться в ДВУХ местах: здесь http://codechallenge.ipdnn.com/register и здесь http://mirror.codeforces.com/contests.

Для участников раунда на Codeforces.
Для всех остальных пользователей Codeforces это будет обычный рейтинговый раунд. Раунд будет общим для обоих дивизионов. Для участия в нем необходимо зарегистрироваться только в одном месте — во вкладке “Соревнования”.

Будут предложены 6 задач на русском и английском языках. Продолжительность раунда составит 2 часа. Традиционно, разбалловка будет объявлена ближе к началу раунда.

Автор задач этого раунда я – Владислав Епифанов (vepifanov). Благодарю Алексея Шмелева (ashmelev), Александра Фетисова (AlexFetisov) и Владислава Исенбаева (winger) за прорешивание задач, координатора Codeforces Глеба Евстропова (GlebsHP) за помощь в подготовке раунда и Михаила Мирзаянова (MikeMirzayanov) за системы Codeforces и Polygon.

UPD. Разабалловка: 500-500-1000-1500-2000-2500.

UPD 2.

Ниже, вы можете посмотреть текущие результаты Intel Code Challenge:

Если вы не нашли себя в таблице вашего города, хотя регистрировались по этой ссылке http://codechallenge.ipdnn.com/register, то после окончания контеста, пожалуйста отправьте ваши данные на эту почту — innl-schools@intel.com.

UPD 3.

Приношу свои извинения за задачу С. Мы решили несколько упростить эту задачу в последний момент, и так оказалось, что в такой формулировке она уже встречалась ранее.

В любом случае, надеюсь, что второй раунд пройдет лучше чем первый!

UPD 4. Разбор задач

По этой ссылке можно посмотреть места проведения очного раунда — http://codechallenge.ipdnn.com/onsite2.

На всякий случай напоминаю, что оплата проезда для участников до места проведения очного тура со стороны компании Intel не предусмотрена. В ближайшее время всем участникам, прошедшим в очный тур, будут разосланы письма с подтверждением и более подробной информацией о порядке проведения очного ура.

Ниже приведены списки участников, прошедших в очный тур соревнования:

Москва

ФИО Handle
Данилюк Алексей Олегович Um_nik
Смирнов Иван Федорович ifsmirnov
Ахмедов Максим Басирович Zlobober
Ипатов Михаил Михайлович LHiC
Дмитриев Алексей Сергеевич riadwaw
Тихомиров Михаил Игоревич Endagorion
Моисеев Борис Дмитриевич SkyHawk
Останин Александр Михайлович Kostroma
Омельяненко Виктор Алексеевич TeaPot
Линьков Евгений Викторович linjek
Краскевич Игорь Владимирович kraskevich
Остяков Павел Александрович pavelost
Семенов Константин Борисович zemen
Минаков Александр Олегович elshiko
Пособин Глеб Игоревич passick
Рухович Филипп Дмитриевич DPR-pavlin
Останков Александр Юрьевич aostankov
Кондранин Егор Сергеевич kondranin
Колупаев Михаил Владимирович al13n
Кузьмичев Дмитрий Андреевич kuzmichev_dima
Киян Сергей Олегович sokian
Хадаев Константин Алексеевич khadaev
Голованов Александр Игоревич Golovanov399
Иванов Михаил Александрович Misha100896
Кулагин Павел Сергеевич Qmant

Cанкт-Петербург

ФИО Handle
Пышкин Игорь Валерьевич -XraY-
Гардер Антон Владимирович .31
Белоногов Иван Константинович Belonogov
Будин Николай Алексеевич budalnik
Жидков Николай Васильевич ZhNV
Смыкалов Владимир Павлович enot110
Латышев Алексей Сергеевич alex700
Макаров Владислав Маратович Kaban-5
Горохов Никита Дмитриевич wackloner
Гуликов Антон Александрович scorpion
Логунов Александр Евгеньевич el_sanchez
Збань Илья Константинович izban
Сайранов Айдар Дамирович aid
Банкевич Сергей Викторович Sergey.Bankevich
Капун Евгений Дмитриевич eatmore
Симонов Кирилл Алексеевич Seemann
Степанов Всеволод Андреевич Tehnar
Зуев Михаил Алексеевич MZuev
Савченков Павел Александрович --Pavel--
Коваленко Игорь Николаевич IgorKoval
Подгузов Никита Владимирович Nikitosh
Богомолов Егор Олегович egor_bb
Смирнов Даниил Олегович Denzed
Самойлов Валерий Сергеевич Sammarize
Немченко Евгений Дмитриевич n.eugene

Нижний Новгород

ФИО Handle
Калинин Николай Андреевич KAN
Белошапко Георгий Алексеевич ordcoder
Кривоносов Михаил Игоревич mike_live
Юнович Станислав Олегович k1nval
Савинов Сергей Викторович StarCuriosity
Наумов Андрей Владимирович softmob
Шилов Вадим Сергеевич shilov
Коровин Алексей Валерьевич Mavzes
Баландин Илья Алексеевич Ilya_
Матросов Михаил Валерьевич mmatrosov
Сорокин Арсений Андреевич arsor
Смирнов Егор Олегович smirnov.egor.r
Филиппов Сергей Вениаминович SergFilippov
Сафонов Александр Юрьвеич akarilimano
Соловьев Дмитрий Евгеньевич dimsol
Камынин Иван Анатольевич justlovemepls
Путилов Андрей Владимирович Great-expectations
Дёгтев Александр Сергеевич AlexD
Полина Наталья Владимировна Polina_Natalya
Блинцов Сергей Дмитриевич SBlincov

Волгоград

ФИО Handle
Финютин Максим Владимирович HellKitsune
Сагунов Данил Георгиевич danilka.pro
Рипинен Алексей Александрович Perforator
Меркурьев Олег Андреевич Merkurev
Ким Вячеслав Юрьевич SlavaSSU
Лось Илья Викторович IlyaLos
Глазов Роман Владимирович Roms
Носов Артём Алексеевич temich
Агафонов Владислав Юрьевич Zool
Смирнов Олег Евгеньевич Oleg_Smirnov
Курылев Дмитрий Петрович DimonK
Кичатов Евгений Сергеевич Eugen
Пенской Никита Андреевич ShadowGorn
Дорогинин Вячеслав Михайлович slavyan900
Перетятько Никита Олегович koPerNik
Карпов Сергей Александрович Seraphim.v2
Титов Алексей Константинович ResQ
Марков Богдан Викторович MBogda

Казань

ФИО Handle
Безруков Денис Викторович pitfall
Ветров Алексей Александрович noxwell
Ямилов Рамис Рамилович RamTararam
Муравьёв Вячеслав Вячеславович Slamur
Барбанягра Владислав Александрович WhatIsLove
Голуб Олеся Александровна Taube
Лыжин Иван Александрович Vanek
Пономарев Егор Андреевич Petruchcho
Гайнитдинов Динар Маратович dinarisio
Жуманиёзов Алишер Равшонбекович AlisherZ
Контуров Дмитрий Алексеевич kontr
Петров Владимир Алексеевич Waldis
Газизов Артур Раянович 2oo7
Орешин Павел Евгеньевич NutZ
Фолунин Владимир Александрович CtrlAlt
Балакирев Константин Валерьевич kostya11
Серов Данил Юрьевич danilserov
Нигматуллин Ранис Нафисович Ranis
Кирилл Каймаков Kirundel
Савельев Никита Олегович defias
Мусин Рустам Идрисович jvmusin
Колсанов Денис Валерьевич deniskolsanov
Богданов Артур Ринатович Dragon116rus
Голяндин Юрий Николаевич ZUBAT
Хуснутдинова Зиля Ильгизовна KhZi

Архангельск

ФИО Handle
Попович Иван Владимирович NVAL
Дергачёв Евгений Иванович dergach
Гурьев Тимур Андреевич ijnhtrgdew
Асютченко Павел Юрьевич Svenny
Нугманов Тимур Шавкатович orotti
Кобзев Дмитрий Александрович GreenKiller
Пестов Сергей Алексеевич pestov-sa
Рудалев Константин Дмитриевич EclipseAltair
Шаршов Иван Юрьевич sinkapoy
Рудный Григорий Константинович yrog
Васюков Артём Олегович vaselkov
  • Проголосовать: нравится
  • +366
  • Проголосовать: не нравится

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +327 Проголосовать: не нравится

unusually usual unusual time

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +40 Проголосовать: не нравится

The round starts 15 minutes after AtCoder Grand Contest 5 ends. Must resist urge to do both...

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +35 Проголосовать: не нравится

How does rating work when we have both divisions combined?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

Glad to know that (Div.-2) can participate. Thanks... :)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +25 Проголосовать: не нравится

What is the expected difficulty of the problems compared to codeforces's problems?

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +13 Проголосовать: не нравится

А возможно как-то проверить, зарегистрирован ли я на http://codechallenge.ipdnn.com/ ? То есть я кажется регистрацию проходил несколько дней назад, но мало ли, вдруг что не так помню, вдруг только хотел пройти...

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +35 Проголосовать: не нравится

hope for more combined division rounds like this in the future :)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Wouldn't div 1 on average do much better than div2? Lots of div2 ratings will be transferred one way to div1 lol

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -21 Проголосовать: не нравится

Wouldn't div1 on average rank much higher than div2? Probably the total rating of div2 will be transferred one way to div1 thereafter lol

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

It clashes with Neerc contest

Please delay Intel code challenge for an ~ 1 hour ...

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

I love it when codeforces organise contest regularly and that too on daily basis :)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Difficult?

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

http://english.stackexchange.com/questions/8856/is-it-a-usual-or-an-usual-why
A usual just like A uniform. An unusual, is good though.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -7 Проголосовать: не нравится

is there hacking system?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -42 Проголосовать: не нравится

why you don't take into account that there is another counties can't participate the contest cause of time :|

wish to take it into account

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -22 Проголосовать: не нравится

Вечер субботы. Серьезно?

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Are the problems' statements written in Russian only?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

How will this contest be rated for normal non Russian Div2 users?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -44 Проголосовать: не нравится

Not the perfect time 4r a Bangladeshi participant... Bangladesh vs Afganistan cricket match is running :-( :'(

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

will there be any different trend in rating system as compared to other CF rounds for people like me in DIV2 ?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

salam

register of this contest like register of previous contests.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Goood! I like combined rounds! I think many people will have a good rating after this round!

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +35 Проголосовать: не нравится

8 minutes before contest. Scoring distribution please? :)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +26 Проголосовать: не нравится

Hope to finally advance in Div2 and enjoy plenty of rated contest. Wish me luck guys!

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +19 Проголосовать: не нравится

I am not being able to lock any problems prior to hacking. Is anyone else facing the same issue?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Couldn't lock problems

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +8 Проголосовать: не нравится

I have 1 extra submission for B, but I didn't send it. It have equal time and code with my first submission. Can you fix it?

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +51 Проголосовать: не нравится

Intel Hack Challenge Elimination Round

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +150 Проголосовать: не нравится

Karma be like:

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится

If only I ask question, and don't submit anything, will it be rated?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +27 Проголосовать: не нравится

In problem B how can a text be divided into 0 syllable..

»
10 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +53 Проголосовать: не нравится

in problem B:

statement said:

Each word of the text that contains at least one vowel can be divided into syllables

notice: "at least one vowel "

it also said:

Text matches the given verse pattern if one can divide words of the i-th line in syllables

notice: "if one can divide words"

now the answer for this test-case

1 0 bbbb

is YES, whyyyy?

because there's "Words that consist of only consonants should be ignored." on unrelated corner of the statement

are you kidding me ???

if at least this sentence was put after the condition it would be more reasonable.

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +12 Проголосовать: не нравится

    Isn't it no different than the ch allenge in the first example? It is analyzed at the bottom of the statement, and ch is specifically omitted.

    If we didn't ignore words without vowels, we would formally have to answer NO to the first example, too. And an empty set of words with vowels, as in bbbb, is still a set of words with vowels.

    • »
      »
      »
      10 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +11 Проголосовать: не нравится

      First, the example explanation said that ch allenge is grouped this way ch al-len-ge, I understood that ch al is one group.

      Second, can you separate the word bbbb into 0 groups and each letter is in exactly one group?? as the statement said

      Each character should be a part of exactly one syllable

      • »
        »
        »
        »
        10 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +25 Проголосовать: не нравится

        First, the example explanation said that ch allenge is grouped this way ch al-len-ge, I understood that ch al is one group.

        The text at the bottom of the statement says: Since the word "ch" in the third line doesn't contain vowels, we can ignore it.


        Second, can you separate the word bbbb into 0 groups and each letter is in exactly one group??

        No.


        as the statement said Each character should be a part of exactly one syllable

        That's in the context which starts with Each word of the text that contains at least one vowel can be divided into syllables. So further we talk only about the words that contain at least one vowel. All until the last sentence of the paragraph. You can't realistically take a sentence from a random problem statement and draw conclusions without seeing the context.


        I however agree with the general notion that the statement of problem B was needlessly complicating things, and was doing that not in the most readable way.

  • »
    »
    10 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +2 Проголосовать: не нравится

    Same as my problem ,Really annoying :( !

    But at least I could get its points from hacking .

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Who else misread question B,locked it and finally realized that you cant have 2 vowels in the same group after trying to hack someone?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +28 Проголосовать: не нравится

Very nice round! Problem C was the same as this one from CSAcademy.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +57 Проголосовать: не нравится
»
10 лет назад, скрыть # |
 
Проголосовать: нравится +77 Проголосовать: не нравится

The statement of F was awful. Even with answered clarification I still didn't understand that you created new array every second. So when I noticed it, I deleted some cases and copying of array three times.

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    I had exactly the same situation. I was just sitting and looking at the first sample for a very long time, trying to understand, why we can't achieve subsegment with length 3 consisting of only 1.

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +6 Проголосовать: не нравится

    Well, it really was hard to understand but I think that first sample is the answer.

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +30 Проголосовать: не нравится

    +1

    This sentence is especially misleading:

    The above operation is performed for 10^100 seconds. For each integer from 1 to m find out the longest segment found at this time.

    at this time actually suggests to find the longest segment at instant t = 10^100. In Russian version of the statement says "за все это время" which means "during all that time", "throughout the course of a that time period".

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -8 Проголосовать: не нравится

didn't have enough time to implement D, I think Dinic + binary search can work

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Everyone becomes equal in the contest. Thank you for Robing the Rich Bankers, and Giving to the Poor TwT

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Hack case for A?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +176 Проголосовать: не нравится

A bad contest. E and F have less than 50 solvers, but D has nearly 1000 :'( So sad. The result depends too much on speed and hacks :(

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +36 Проголосовать: не нравится

This was my first competition ever. Although my performance was quite poor, I honestly enjoyed participating. Thanks to all contributors! =)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +60 Проголосовать: не нравится

Before system tests, every single user from 95th place to 159th place has at least one successful hacking attempt. That's 65 people in a row that are where they are because of hacks. This is ridiculous.

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +5 Проголосовать: не нравится

Everytime when I am not free to participate a competition I feel that I am comfortable with the problemset, yet I always know I will always forget to handle some exceptions and stuck in div2= =[

Anyways, the problemset is pretty interesting, but I noticed that question F is similar to CF559C. (Though there are a few extra work, especially on reducing P/Q)

UPD: Judging from the feedback it seems that I am pretty lucky to have not participated in this round... lol

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

This round was an epic fail for me. It will be hard to recover my rating =)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Problem B. 1 1 a aa Why answer is NO? a — one, aa — ignore.

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +5 Проголосовать: не нравится

Isn't TL in E too tight? :/ N^2lgS, with tons of modulos...

http://mirror.codeforces.com/contest/722/submission/21092074 (2418ms)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

I somehow passed the pretests but still can't understand B:

1.Can we divide "aaaa" into "aaa","a" to obtain one syllable?

2.Why can we divide "to" into one syllable?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +42 Проголосовать: не нравится

Since when is 'y' a vowel?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

In every page i saw lots of hacked...Can you please tell me how to hack? and what is the benefit of this? thanks in advance..

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Before you hack, you need to lock your solution to the problem you wish to hack. You can hack by going to your room, and double clicking on someone's solution that you wish to hack. Then you see their code, and if you think their code is wrong and doesn't work for all cases, you can click on the button hack, and give a test case for which you think the solution would produce wrong answer. If you are correct, you gain +100 points, if you are wrong you lose 50 points.

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +10 Проголосовать: не нравится

increase D's time limit to 3 :______________(

hmmmm... or 4...maybe

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -18 Проголосовать: не нравится

I missed D due to B.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +30 Проголосовать: не нравится

The problem statement of B was very misleading.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +26 Проголосовать: не нравится

Hack system has one really annoying bug. When I wanna see participant's code, it moves up and it's unable to see more than half of code. I could have 1 more hack without this bug..

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How can this code be hacked for 2A?

http://ideone.com/Z1ui6u

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -8 Проголосовать: не нравится

Hack War( again )

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How to do C >.< My solution use set and would most probably fail the sys-test. >_>

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +14 Проголосовать: не нравится

Very Poor statement for B :

We define a syllable as a string that contains exactly one vowel any arbitrary number (possibly none) of consonants.

Because of missing and,I thought it means exactly one vowel for any arbitrary number of times.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -58 Проголосовать: не нравится

This contest should be made unrated because C problem was directly picked from CS Acadmey without even changing the name.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

In problem B,can anyone explain why 2 vowels cannot be in the same group.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

I tried C in a approach with queue and recording the divisions in a queue. but of course it got tle because it is O(n^2). But can I use the same approach and just upgrade the time?

http://mirror.codeforces.com/contest/722/submission/21090359

and wtf I got WA in A even though it passed pretests!! pls tell me whats wrong http://mirror.codeforces.com/contest/722/submission/21072772

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +21 Проголосовать: не нравится

Probably there was something wrong with English statements. People in my room wrote totally wrong solutions, and considering that the problem is very easy, the unclear statement has to be the reason.

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    I think the English statements look exactly the same as the Russian one. I think the most confusing part is the phrase "can divide words of the i-th line in syllables in such a way that the total number of syllables is equal to" like you can somehow divide them into different number of syllables, but you can't really =)

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

bad statement in problem B
you can steal problem C solution from HERE !
weak test cases and a lot of hacks

I'm glad because I didn't participate xD

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

Написал Д, послал, прошел претесты. Решил потестить. Ок, Рандомные тесты проходит. Сделал тест — все числа равны миллиарду — Решение упало. Поставил заглушку, перепослал. ВСПОМНИЛ, ЧТО ВСЕ ЧИСЛА РАЗЛИЧНЫ...

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -9 Проголосовать: не нравится

I had not seen the problem C before yet i solved it, so deserve my rating increment. So, making this round unrated is not the solution

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How soon will the editorial be published?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится

Удалите меня, пожалуйста, из результатов по Москве, я когда регистрировался, не до конца осознавал, что он только для граждан РФ :)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Congratulations, extremely fast system testing :)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +53 Проголосовать: не нравится

Hack & Hack Back :D

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I think problem D can solve by use trie and add all element as binary respresent and problem became choose node satify : In subtree u, number of choose node equal number of leaf. when at node u, I will choose node has maximum of leaf is minimum. But I has falled. Is my approach wrong ?? Can someone has same approach with me can explain me how to do this?? Sorry for my bad & poor E :))

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    yes trie can be used to solve the problem D

    I had a similar approach wherein I add binary representation of all given numbers in trie and at each node

    Now iterate i from 1 to max(a[i]), and search binary representation of i in trie and pick the max element with that prefix and delete it from trie and for that deleted element push "i" into another vector which would hold the answer.

    Now this seems to be a valid approach but the catch is that I have to iterate over from 1 to max(a[i]) which can be equal to 10^9 . an example test case would be

    30

    1 2 4 8 16 32 64 128 256 512 1024 .. and so on till 2^29

    Here I need to iterate from 1 to 2^29 and no number a[i] can be reduced to smaller number.

    However, this problem is much easier and can be solved using a simple priority_queue and map. See my code 21097078

    Thanks for reading. :)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +114 Проголосовать: не нравится

Poor guy

I bet he's mad

I'd be mad

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +7 Проголосовать: не нравится

    You know he's not actually losing points on this, right? People should actually think of being hacked as a favour / hint :)

    Except of course if someone generates a testcase against the particular primes you're using in your hashing solution :P

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +125 Проголосовать: не нравится

Great round, maybe next time it will be a programming contest instead of a hacking contest.

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +118 Проголосовать: не нравится

My B got FST because I got a wrong statement:

I forgot the condition that each syllable can only contain one vowel.

But I passed the pretests easily.

I think the pretests should at least make the solution which have wrong statement get wrong answer.

I want to give this problem a downvote if cf have this function like uoj.ac

(╯‵□′)╯︵┻━┻

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How to solve C? I got TLE.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Why can't we make submissions? I coded problem D, after the contest ended but I can't test whether it is gonna pass or not.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +31 Проголосовать: не нравится

When not to fail A is harder than not to fail C

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

А что делать, если я нашел себя как минимум в трех городах?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

bad statement for B, and C picked from CS Academy. making the contest rated can be seriously unfair!

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

why F F?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

How to solve D?

I was thinking of making binary tree with children of current node as node*2 and node*2+1and the solution using DP on tree on this tree with state (node, {0, 1}) where DP(node, 0) is the minimum cost to fulfil all leafs in this subtree excluding one of them, and DP(node, 1) is min cost to fulfil all leafs in subtree including all of them. But I was unable to figure out how to generate the actual values that we have chosen(and not just the maximum). Did anyone try this approach?

It seems greedy with binary search passed. Can someone explain there solution?

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +7 Проголосовать: не нравится

    My greedy solution passed the sys tests (to my surprise). I put all numbers in a binary tree, and then i repeat this:

    1) remove the max element from the tree

    2) divide that element by 2

    3) check if this number is already in the tree, if it isn't put it in the tree, and go to 1), else continue dividing by going to 2) while the number is bigger than 0.

    When a number can't be inserted in the tree with this algorithm (i.e. you keep dividing untill you reach 0) break from the loop, and print all the contents in the tree.

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    After finding out the maximum value with tree DP (if it is theoretically correct) you can just get a boolean array b[1... max] recording whether each number is used in the answer. For each y just divide it by 2 until it reaches a number that is not used (b[y'] = false holds), mark this number as used and append it to the answer. Through simple observation we can figure out that going further (using y' / 2, y' / 4...) will never be better since doing so eats up more possibilities for it serving other y's.

    I wasn't able to find out the DP method before switching to a binary-chop approach, but once the maximum value is found (in either way) the remaining part keeps the same.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

21085320 [ Weird output ]

Why does n value changes to N in the last for loop?

Anyone?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

Due to hacking we have NO solutions failed on system tests in our room. During the entire contest I was wondering why some people have that many successful hacks on B, was checking my room constantly and only in the end some participant sent submission which was checking 'at least N syllables' rather than 'exactly N'. Was it the main hack case in this problem for other participants?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Умные люди, расскажите, как в C понять, что много set'ов получат TL. У меня решение за NlogN радостно его получило.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +44 Проголосовать: не нравится

And now I wonder if we really should visit the onsite. Is it worth going, will the quality of the next round be significantly better than of the current one?

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +4 Проголосовать: не нравится

    Codeforces coordinator said it :D

    I don't know about problemset, for me it was fine, texts were unclear but that is job of codeforces reviewer right ?

    I spent around one hour on thinking why my function erase doesn't work for multiset and then I realize I can read c++ reference :D

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +50 Проголосовать: не нравится

nohack

It`s a question of belief! (And fear of being hacked forever :P)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

My solution for C was getting wa on test case 15. link to soltution: http://mirror.codeforces.com/contest/722/submission/21088563 while it gives correct answer for same test case on ideone and my local complier(dev cpp) http://ideone.com/08V4dG Can somebody please help me understand what am I missing here?

  • »
    »
    10 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится +8 Проголосовать: не нравится

    multiset erase function erases all instances of that variable , thats why it is giving wrong ans , I use linux and its giving wrong ans on my machine

    when i replace 
    mset.erase(sum(a,b) ) 
    with 
    it = mset.find(sum(a,b) ); 
    mset.erase(it) ; 
    it works 
    hope it helps 
    Link to updated soln . 
    http://ideone.com/ItPdEV
    
»
10 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

C is a simplified version of 527C - Разрезание стекла

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +24 Проголосовать: не нравится

AABBEE

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Missed a long and lost tons of point in F :( Maybe I should use #define ll long long or something else......

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

English statements were ambiguous :| Round should be unrated :/

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -7 Проголосовать: не нравится

Poor problem statement for B.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +21 Проголосовать: не нравится

"Официальные результаты Intel Code Challenge, а также разбор задач будут опубликованы в воскресенье, 2 октября."

А рейтинг когда пересчитан будет?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +19 Проголосовать: не нравится

Does UPD 2 mean contest is rated ?!

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +33 Проголосовать: не нравится

Waiting For The rating update ....

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I cracked the logic for problem D 5 minutes after the contest ended, and it took me another 5 minutes to code it, since I was already thinking along those lines. :(

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Newbie forever :(

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

http://mirror.codeforces.com/contest/722/submission/21074766

Can someone tell me how to track the set having max sum among all possible sets in DSU Its understood that in the above code find() and merge() functions are to find parent of an element and merge an element into a set to which it belongs but how to keep track of the sum ?? Can any1 xplain in details please.

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    following

    • »
      »
      »
      10 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +1 Проголосовать: не нравится

      I understood it. the main idea behind the solution is actually we can process the queries offline . That is instead of traversing from i=1 to n and deleting every element we can actually revert the task and start from i=n to 1 and insert the element into its corresponding set.

      Everything is 1-indexed :)

      Like the example n=4 , a={1,3,2,5} and p={3,4,1,2}; We have a boolean array ok to check if certain element is in set or not. Also keep a sum(long) array to keep track of sums of a set Initally all elements have parent[i]=i;

      we start from i=4 and intially we have all sets as null so current ans=0 ( beacuse at last all elements are going to be deleted ). Now print 0 and let x=p[4] so update sum[x]=a[x] , as in our case a[2]=3 . we check both left and right of 'x' and we can see that neither 1 nor 3 is visited so simply find parent of 'x' which is 2 itself, so ans is updated to be max(0,s[parent[x]]); =>ans=3 and mark visited[2]=true;

      Next we have i=3 ans p[3]=1. So we again check for left and right . In our case we only check for right side(1-indexing) so 2 is visited so we merge both set having element 2 and set having single elememt in 1 in such a manner so that the parent of the resulting set has suppose index as "parent_index" then sum[parent_index]=sum_of_all_elements_in_set; next we update our ans and as its either max sum from merging our current set or from previously merged sets and then we mark the element we processed as visited.

      Continue for rest elements and Bamm its Accepted.

      Thanks to FatalEagle for his clean code . Helped a lot.

      For Java Users my submission :- http://mirror.codeforces.com/contest/722/submission/21097209

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

this is a hacking round >_<

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +22 Проголосовать: не нравится

Yay, I am finally yellow! <333

»
10 лет назад, скрыть # |
 
Проголосовать: нравится -15 Проголосовать: не нравится

тот момент когда падает задача С потомучто пользовлся cin/cout вместо scanf/printf

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +25 Проголосовать: не нравится

    99% кода пишу на джаве, но когда нужно что-то написать на плюсах — первым же делом пишу sync_with_stdio(0) — и очень удивляюсь, когда люди, постоянно пишущие на плюсах не включают ее в шаблон. Может этому есть какое-то объяснение? Ваш код — 21096389

    • »
      »
      »
      10 лет назад, скрыть # ^ |
       
      Проголосовать: нравится -20 Проголосовать: не нравится

      Ответ очень прост: лень. Тем более это полумеры. Со сканфами и принтфами 180мс, с sync_with_stdio(0) — 600мс.

      • »
        »
        »
        »
        10 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +19 Проголосовать: не нравится

        С cin/cout все хорошо, если правильно работать. Например, если заслать ваше решение под C++14 (21107832) то оно получает уже 420 мс. Так же, если добавить строчку "#define endl '\n' ", то ваше же решение (21108089) работает всего 200 мс, что уже очень близко к scanf/printf

        • »
          »
          »
          »
          »
          10 лет назад, скрыть # ^ |
           
          Проголосовать: нравится 0 Проголосовать: не нравится

          По-моему, там разница не в C++14, а в наличии cin.tie(0).

          Но вот уж чему-чему, а тому, что endl медленно работает, удивляться не стоит. ibra, в варианте со сканфами и принтфами Вы же не пишете fflush(stdout); после каждого принтфа? А ведь именно это означает endl.

          • »
            »
            »
            »
            »
            »
            10 лет назад, скрыть # ^ |
             
            Проголосовать: нравится 0 Проголосовать: не нравится

            Да, про cin.tie(0) я не упомянул, хоть и использовал его. Но все же в C++14 cin/cout работают заметно быстрее, например вот тот же код на C++14 без cin.tie(0) (21163397) и его заслуженные 450 мс вместо 600 на C++11.

            • »
              »
              »
              »
              »
              »
              »
              10 лет назад, скрыть # ^ |
              Rev. 2  
              Проголосовать: нравится 0 Проголосовать: не нравится

              Это странно. Разве в C++14 были какие-то изменения, связанные с производительностью iostreams? Может быть, дело в том, что для C++14 на Codeforces (по непонятным мне причинам) используется более новый GCC и libstdc++? Хотя в любом случае я не знал, что cin/cout стали быстрее — это приятно и полезно знать. (Если, конечно, быстрее действительно стали именно cin/cout, а не какая-либо другая часть программы.)

              • »
                »
                »
                »
                »
                »
                »
                »
                10 лет назад, скрыть # ^ |
                 
                Проголосовать: нравится +5 Проголосовать: не нравится

                MikeMirzayanov упоминал об этом в своем блоге. Иногда полезно читать главную страницу Codeforces :)

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  10 лет назад, скрыть # ^ |
                  Rev. 2  
                  Проголосовать: нравится 0 Проголосовать: не нравится

                  OK. :)

                  Хотя это, к сожалению, всё равно не объясняет, почему стало быстрее (равно как и почему C++11 всё ещё на GCC 5). Было бы интересно знать.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  10 лет назад, скрыть # ^ |
                   
                  Проголосовать: нравится 0 Проголосовать: не нравится

                  И непонятно, есть ли какой-то способ об этом узнать, кроме как прочитать блог. К тому же, если это особенность конкретных версий, сборок или даже настроек компиляторов/библиотек, которые используются на Codeforces, то это тогда не правильное использование cin/cout, а правильное использование Codeforces!

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

Thanks for a really awesome problem set. Really enjoyed the contest.Almost turning color.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Anyone getting this message "The page is temporarily blocked by administrator. " on clicking problemset?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

Much simpler solution for D 21091527

Push all elements into a Priority Queue and pop out the top element, reduce it ( divide by 2 ) until it encounters a value which isn't visited yet and push reduced value into this Priority Queue.

Repeat this process until you are unable to reduce the top most element further.

That's it!

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +3 Проголосовать: не нравится

    Yup, nice! I actually used the same solution during the contest: 21088132

    • »
      »
      »
      10 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      can you explain your solution and why it works? I'm unable to solve it without binary search.

      • »
        »
        »
        »
        10 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

        Let's start with set Y, and we want to find X such that the largest element is as small as possible. To make our set better, we want to take some element yi and replace it with , or we keeping dividing by 2 if that number is already in the set. Since we only care about the value of the largest element, decreasing any smaller number doesn't improve your answer.

        For example, changing the set doesn't improve our answer, since the greatest element is still 15.

        Because of this, it's always optimal to process the largest element first, because not changing it, in a sense, makes all your other changes "useless." (Again, we only care about minimizing the largest element in the set).

        To find a replacement for the largest value (let's call it x), we can successively divide by 2 until we find a number that has not already been taken. Once we replace the number, we can repeat the process for the new largest number.

        If, at any point, there is no other number that can replace the current maximum, we are done, since any future changes will not affect our answer.

        A priority_queue works well in this case:

        Code with Explanation
  • »
    »
    10 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится 0 Проголосовать: не нравится

    I was also going for binary search. But finally had similar n log^2 n solution in the contest.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can someone explain me this thing. In C. Destroying Arrays, I have a doubt regarding second example testcase. 5 1 2 3 4 5 4 2 3 5 1 After 1st destruction, we will be left with segment (1 2 3 4) implying 10 as the first output, but it is 6 as for the test case. Thank you.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +28 Проголосовать: не нравится

My screencast (got 42nd place)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Why Problemset page is still blocked?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

// Why 12:01 ?

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +46 Проголосовать: не нравится

.

.

.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

А где можно будет найти разбор?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Can anyone please help me find (what I think is) undefined behaviour in my submission for C?

These two submissions differ by essentially a nop, yet one of them passes and one does not: http://mirror.codeforces.com/contest/722/submission/21097824 http://mirror.codeforces.com/contest/722/submission/21097825

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +47 Проголосовать: не нравится
    printf("%I64d\n", 0);
    

    There should be 0ll, not 0. With 0 you actually pass a 4-byte integer to a function with variadic arguments. Implementaion of printf finds the %I64d specifier, attempts to read 8 bytes and prints some garbage with lower 4 bytes equal to zero.

    My suppose on why this is resolved by adding an fprintf: by calling fprintf you sanitize the stack. It means that because of some inner recursive calls inside fprintf or because of fprintf itself it happens that the 8 bytes you going to print are actually assigned to zero as a side-effect, and you successfully print zero in this case. Note that all function calls between fprintf and incorrect printf are in if blocks that are not executed, and sums.empty() is most probably inlined and does not result in a function call, so the zero-effect is still having place at the moment of invalid printf.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I am getting wrong answer in C. i tried to solve it by segment tree. tried many times but can't manage to get accepted.Help me please :)

my code: 21093304

my similar code got accepted in spoj GSS3. link: GSS3 .but why not here? please tell me if i get anything wrong.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

everybody can take part in final round ??

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Does anybody have a proof for D's greedy solution (with heap and dividing by 2)?

  • »
    »
    10 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится +3 Проголосовать: не нравится

    let S denote the answer set by the greedy method, let a1 denote the maximum number in S, then
    every b = a1>>k (k >=1 and b > 0) is in S
    It's obvious S can produce Y, just need to prove a1 is optimal, we can prove it by contradiction. if there is an optimal set S' whose maxinum number is c(c < a1), then a1 must corrispond to some smaller number a2 = a1>>k(k >= 1), and now a2 is in S, S contans no a1 and duplicated a2, we must changed a2 to a3, and if a3 becomes duplicated, we must changed it to a4 and so on, until an a(n) which is not duplicated, we can prove by induction that such a(n) doesn't exist.
    if ai(i>=2) is duplicated, and every b = ai>>k(k>=1) is in S, we change ai to aj(j=i+1, aj < a1), then we have
    aj becomes duplicated, and every b = aj>>k(k>>=1) is in S.
    There are 2 cases,
    1.aj=ai>>k, trival.
    2.ai != y, ai=aj>>k, let ai = ai'>>ki, where ai' is a maximum number in the set and changed to ai during the algorithm loop, since the maxinmum number in the set is decreasing during the loop, so ai' >= a1, hence aj = ai'>>k' and ai' > aj > ai. At the time when ai' changes to ai, for every p = ai'>>kp and ai' > p > ai, p is in in the set(by the algorithm), so either p remains in S, or p changes to some smaller number which means p >= a1(same reason for ai'>=a1). since aj is some p and aj < a1, so aj becomes duplicated, and every b=aj>>kj is in S.
    Thus there is always a duplicated number in S, a1 must be optimal.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Editorial?

»
10 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +11 Проголосовать: не нравится

For me, I had never attempted problem C or any very similar problem on any other online judge or CF, and after attempting D this morning, I feel D is easier than C. C is a little implementation heavy, and D is more of logical thinking problem. If the statement of B was more clear yesterday, I wouldn't have wasted so much time solving it, and might have ended up solving 4. All in all, I really enjoyed the contest, as I always do on CF :)

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

В финале будет Div2?

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

Editorial for this round will be published on Sunday, 2 October.2017

»
10 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится

Can anyone please tell me the difference between the below two (complexity wise):

  1. lower_bound(S.begin(),S.end(),x) 21093055
  2. S.lower_bound(x) 21114301

where, S is a set and x is the number to be searched in the set.

In problem C, using 1) gives TLE on test-13. The same code gets Accepted on changing 1) to 2).

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

Разбора все еще нет(

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Please offer a (hopefully rated) parallel round of the final round for those of us who didn't make it into the finals. :(