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

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

Приветствуем всех на первом летнем раунде - Codeforces Beta Round #73

Авторами этого соревнования являемся мы: kuniavski (Павел Кунявский) и Zlobober (Макс Ахмедов). Соревнование проходит одновременно в двух дивизионах. Суммарно вам будет предложено 7 различных задач с вариациями в разных дивизионах, по 5 в каждом дивизионе. Мы надеемся что все смогут показать свой результат и решить как можно больше задач.

Мы хотим поблагодарить RAD (Артем Рахов) за помощь и множество полезных советов во время подготовки контеста, а также Delinur (Мария Белова) за перевод задач и MikeMirzayanov (Михаил Мирзаянов) за Codeforces в целом.

Удачных решений и взломов!

GL & HF!


UPD. А тем временем появился разбор: Div1,Div2

Поздравляем победителей!
Div1 - ilyakor 
Div2 - peter50216

И еще немного статистики. Первые успешные посылки и хаки по дивизионам:

Div1-A Dmitry_Egorov 4:09
Div1-B ilyakor 13:05
Div1-C A_A_Lunyov 8:05
Div1-D hos.lyric 30:57
Div1-E rng_58 75:20
hack VArtem 26:15

Div2-A epizend 5:27
Div2-B random.johnnyh 19:15:29
Div2-C RomaFurko 11:31
Div2-D peter50216  41:18
Div2-E peter50216 54:00
hack  diogen 55:33

  • Проголосовать: нравится
  • +198
  • Проголосовать: не нравится

15 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
Молодцы! Я верю, что раунд пройдет успешно. Желаю всем удачи-и организаторам, и участникам.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
У меня вопрос, возможно не по-теме контеста: только у меня на главной одинокая надпись "Домен зарегистрирован", но все остальное открывается прекрасно? Это беда на сайте или опять наш провайдер что-то запретил?
15 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится
wow 7 problems.. nice..!! :D
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Какие рамки 2-го дивизиона? Синие вроде в 1-м, но меня пускает только во второй
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Весело. Пытался зайти, но все время висела надпись "Домен зарегистрирован". Зашел только сейчас, но уже поздно...
15 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится
Вождь Винни-Пух и бог Гомори-Ху ^__^
15 лет назад, скрыть # |
← Rev. 5  
Проголосовать: нравится 0 Проголосовать: не нравится

какие возможные баги в В?
у меня WA3 О_о  
 UPD теперь WA7 О_о 
UPD2 нашел баг, теперь не знал что можно писать что-нибудь типа typedef errtype a))) 
UPD3 сдал
и в С же должна Гранди заходить?
UPD по С вопрос снят, условия надо внимательнее читать :(
UPD2 не могли бы сказать, где баг в этом коде ? писал первый раз Гранди, может где накосячил...
сейчас не пашет для теста 873 - выдает вместо 18 6 
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
В D div 1 нужно было в порядке не возрастания длины рассматривать ребра, считать количества вершин по разные стороны от этого ребра, и брать максимум, по ходу удаляя ребра тяжелее текущей?
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Только я во время контеста боролся с окошечком взломов? У меня после нажатия первой кнопки "Взломать" никак не получалось нажать вторую: я пытаюсь прокрутить вниз, но ничего не выходит...
15 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится
Мне в div.2 очень понравилась С(про метро с поездами). Спасибо. Хорошая задача.
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +11 Проголосовать: не нравится
    Нам тоже она понравилась.
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +5 Проголосовать: не нравится
    Мне условие понравилось. Выкинуть фразу, что девушки друг про друга не знают, и получается наш один хороший друг :)
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    Я пользовалась идеей, что если gcd(a, b) = 1 и b > a, то время когда поедят в строну b равно (1 + a)*a / 2 (в силу различных остатков) . А в сторону a = a*b - (время в сторону b). Если gcd(a, b) != 1, то разделим а и b на gcd и решим для них задачу. Ответ верен, так как ситуация отличается от исходной гомотетией в точке 0(на временной прямой) и коэф. 1/gcd . А при гомотетии отношения каждых кусков отрезков сохраняются.

    При взломе, стала читать решения других. Оказалось что многие решали проще и хитрее. Может кто-нибудь напишет отличную идею решения.
    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      В разборе описаны две идеи.
    • 15 лет назад, скрыть # ^ |
      ← Rev. 3  
      Проголосовать: нравится -9 Проголосовать: не нравится

      Я сокращал a и b на НОД. Тогда числа получались взаимно простые, и a*n % b пробежит все возможные остатки. Тогда за a*b минут цикла юноша едет в одном направлении, если попадает в интервалы общей суммой 1 + 2 + .. + a минут, а в другом - (b-1) + (b-2) + ... + (b-a) минут (случай b>a). равенство возможно очевидно при b = a+1, иначе он едет к первой девушке


      UPD. Я математик, палюсь))
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Кстати, не мог бы кто-нибудь по C дать тестов, на которых ломали...У меня получилось много кода ;( хотелось бы его проверить
15 лет назад, скрыть # |
← Rev. 3  
Проголосовать: нравится +5 Проголосовать: не нравится

Чорт, пару минут не хватило чтобы додебажить Д. Ждем дорешивания.
UPD. И она все равно упала, так что даже и не обидно :D
UPD. Минус 3 символа и оно зашло.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Есть идеи, почему этот генератор для Div 2 B получает 
"FAIL text charater should be latin letter, not "?


print 30, 30, 1

c = 97
for i in range(29):
print chr(c) * 30
c += 1
if c > 122:
print "b" * 29 + "S"
c = 97

print 500000


s = ""
for i in range(20000):
s += "B"
for i in range(20000):
s += "Z"
for i in range(10000):
s += "Y"
print s



Во время контеста мне сначала сказали "Пробелов не является латинской буквой.",
потом "Генератор выводит символы { | и }"

Проверял у себя и на сервере через вкладку "Запуск" - нет ни лишних пробелов, ни скобочек.
15 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +1 Проголосовать: не нравится

Is DIV 1 .harder than combined  division previously.?
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    May be.
    I think, it was at bit disbalanced: first two problems was simple, C was classical, D and E required a lots of code.
    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      Can anyone explain how Div1-C is solved ?
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        Its a direct Grundy problem, no special tricks or patterns or observations needed. I'm (almost) sure you know grundy :).

        Fill the grundy table g[0...N] and each g[X] means you have a game of X piles. Try all possible moves, i.e., all possible K such that X = a * K + (K*(K-1))/2 , which results in subgames {a,a+1,a+2,....,a+K-1}. The grundy of the collection of these subgames is ( g[a] ^ g[a+1] ^ ... ^ g[a+K-1] ). Some coders just iterated and found this value, but you can simply maintain a prefix xor on g[ ] , say pg[ ] and get it using pg[a+K-1] ^ pg[a-1] in O(1). g[X] = the mex among all grundy values reachable from X. Complexity is O( n . sqrt(n) )
        • 15 лет назад, скрыть # ^ |
           
          Проголосовать: нравится 0 Проголосовать: не нравится
          Thanks for the reply. I'm familiar with grundy numbers, but I don't believe this problem is a direct one. Typically a transition in a game leads to another state of the same game, so we start by assigning grundy numbers to states (no xor operation is involved here) and then xor the grundy numbers once for the collection of initial games (an example is the knights problem here http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=algorithmGames). 
          While in this problem as each transition creates many states then we need to xor their grundy numbers to get the "combined" grundy number of this transition.
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
блин, обидно, кучу раз слышал задачу типа С, и неудосужился прочитать как решать задачу такого типа...(
15 лет назад, скрыть # |
← Rev. 7  
Проголосовать: нравится +12 Проголосовать: не нравится

I like to compete in Codeforces.
This round may be easier than past round (Div2). Normally, I solve only one problem during contest, but today i solve  3 problems
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Вот я молодец :)
Сначала написал "почти верное" решение с желаем дооптимизить позже :) Забыл и радостно получил TL
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Кстати, на каком тесте в Div.2 задаче С ломали людей, которые использовали int и писали что-то такого типа: int nok = a * b / gcd(a, b)?
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    1000000 999999

    a*b идет переполнение.

  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    казалось бы, на любом - хотя бы a = 99999, b  = 99998 - уже будет переполнение при умножении.
    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      Переполнение то будет, но некоторые люди писали так:

      int nok = a * b / gcd(a, b);
      int t = 0;
      int x = 0, y = 0;
      while (t < nok)
      {
      ...
      }
      if (x == y)
        cout << "Equal";
      ...

      Понятно, что на тесте 1000000 999999 переменная nok примет отрицательное значение. while не выполнится и ответ будет равен "Equal", что будет верно.
      • 15 лет назад, скрыть # ^ |
        ← Rev. 2  
        Проголосовать: нравится 0 Проголосовать: не нравится

        чтобы получить переполнение больше 0 можно заюзать например 65536 65537

        PS: не знаю поможет ли это, не читал таких решений и не очень представляю)
        • 15 лет назад, скрыть # ^ |
           
          Проголосовать: нравится +1 Проголосовать: не нравится
          Да я уже понял, что тупил и можно завалить тестом 1000000 999997, где правильный ответ "Masha", а неправильное решение с типом int выведет "Equal"
15 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится
Анти-qsort тест в D это жесть...
Печаль :(
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +67 Проголосовать: не нравится
    Ну нефиг потому что. Может начнете писать с рандомом.
    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится -10 Проголосовать: не нравится
      А по-моему это называется Паскаль-анфрендли. С++ный то сорт (и явовский, полагаю, тоже) таким не завалишь. А зачем валить людей на алгоритме сортировки, я не понимаю. С таким же успехом можно было больше отвечать на вопросы по условию "read the statement", из-за этого задачу бы не сдал еще приблизительно такой же процент человек, как те, что завалились на анти-сорте. Но этого не делалось, потому что на КФ вроде бы другая политика. Непонятно мне..
      • 15 лет назад, скрыть # ^ |
        ← Rev. 2  
        Проголосовать: нравится +10 Проголосовать: не нравится

        Имхо, если человек сам пишет qsort, то пусть уж пишет рандомизированный...Как известно, код это меняет совсем немного.
        Codeforces имеет в целях в том чисел и подготовку к более продолжительным и серьезным олимпиадам, и если например на Всеросе ты теряешь 20-30 баллов потому, что не написал рандом в qsort, то становится обидно
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +5 Проголосовать: не нравится
        А мне кажется, писать алгоритм, который в худшем случае работает O(n^2), и получать OK - это не правильно на ACM-подобных турах, которые проводятся на CF.
        Но это, конечно, моё мнение.
        • 15 лет назад, скрыть # ^ |
           
          Проголосовать: нравится -6 Проголосовать: не нравится
          Ага, а еще можно подобрать тест, на котором валится кьюсорт с рэндомом без рэндомайза. Добавить рэндомайз - тоже одна строчка. Может его тоже стоит добавить? Свалится, наверное, еще пару решений.

          А еще есть хеши, которые в хучшем случае не работают, с суровым набором тестов слетит немало решений, квадродеревья, которые работают за квадрат и тп.

          Возможно, если ориентроваться на школьников на Всеросе, то это действительно хороший "воспитательный эффект.". Я просто поставил себя на место участника, словившего из-за этого ТЛ (участника - студента) и мне бы было очень обидно. Особенно учитывая достаточно лояльную политику КФ, и, в часности, то, что вы позволили проходить решениям в С с рекурсией. 

          ПС. Я в общем авторов ни в чем не хочу обвинять, автор никому ничего не должен. Просто лично меня такая политика, особенно в отношении кусорта, немного раздражает. Вот такое вот ИМХО.
          • 15 лет назад, скрыть # ^ |
             
            Проголосовать: нравится +9 Проголосовать: не нравится
            Кстати, насчет хешей. Встретил один раз задачу в которой 2 разные строки дают одинаковый полиномиальный хеш по модулю 2^64 (строки специально подобрали), не зависимо от ключа который используется. Подумал, не дать ли где-нибудь задачу на это, чтобы хеши послетали, но потом одумался, а то каждый будет норовить такие тесты использовать и хеши больше не поюзаешь, это не круто :)

            Насчет qsort: по-моему здорово, что благодаря хорошим тестам, участники могут выявить слабые места в своих алгоритмах и исправить их в будущем, особенно на обычных тренировочных раундах, как прошлый. 

            Случайный выбор элемента гарантирует мат ожидание работы qsort O(nlogn). Не помню что там насчет фиксированного элемента, скорее всего не доказывается, могу ошибаться. 

            Мне, например, из-за того, что на контесте есть взломы, стремно использовать фиксированный seed для рандомизации в декартовом дереве, потому что увидев его можно сгенирировать тест на n^2. Почему бы не сделать код надежным не проиграв по сложности и размеру кода?
            • 15 лет назад, скрыть # ^ |
              ← Rev. 5  
              Проголосовать: нравится -13 Проголосовать: не нравится

              Это же не совсем тренировка - рейтинг ведь есть, поэтому поддерживаю наколовшихся на этом коварном тесте участников в праве на обиду.

              Даже с рандомизированными алгоритмами ведь вообще такая фигня, что если решить их позволять, то у какого-нибудь эпичного неудачника может не пройти, а если решить их не позволять, то жюри навряд ли сумеет сделать тесты, кототые валят по всем возможным рандсидам, однако это будет несколько проще сделать тем, кто будет взламывать, - ведь они будут видеть код (ну, это озвучил уже и предыдущий оратор). Да и неравноправие языков усиливается, ведь где-то есть встроенные рандомизированные алгоритмы, в которых этот самый сид зависит от погоды, а где-то нет (Java & C++ vs Pascal). Поэтому минусуйте меня семеро, но я скажу, что в идеале во избежание Q-срача надо не давать задачи, в которых требуется сортировка за O(N * logN), а во избежание хешесрача - соответственно, задачи, где вообще можно решать с ними, с хешами.

              Ну и ещё, кстати, такой момент. На ACM можно увидеть, что не прошло, и переделать. На школьной олимпиаде можно потерять только часть баллов. На TopCoder ограничения маленькие, там даже всякие лишние линии вместо логарифмов не повредят. А вот здесь, на Codeforces...
              • 15 лет назад, скрыть # ^ |
                 
                Проголосовать: нравится 0 Проголосовать: не нравится
                Да, и получить на ACM бревно, на школьной олимпиаде -5%-10% от суммы своих баллов... совсем необидно!
                Насчет хешей и сортировок: у авторов же всегда есть решение, которое работает(!), значит видимо у участника ручки кривые, если не зашло то, что должно было
            • 15 лет назад, скрыть # ^ |
              ← Rev. 3  
              Проголосовать: нравится 0 Проголосовать: не нравится

              Стоп, независимо от ключа? o_O
              Т.е. пофигу, какое p брать в выражении a0 + a1· p + a2· p2 + a3· p3 + ...?
            • 15 лет назад, скрыть # ^ |
               
              Проголосовать: нравится 0 Проголосовать: не нравится
              А разве у таких строк длина должна быть не порядка 263?
          • 15 лет назад, скрыть # ^ |
             
            Проголосовать: нравится 0 Проголосовать: не нравится
            Тут важный момент, что писать детерминированный алгоритм, который работает в худшем случае за квадрат, и получать за это ОК - это лично мне не нравится. Любой может подойти, поизучать ход вызовов программы и всегда построить тест для взлома.
            А с недетеримнированными хуже - всё-таки анализировать рандомные значения как-то сложно.
            Просто я хочу донести мысль, что детерминированный алгоритм за O(n^2) в худшем случае ну ничем не отличается от неоптимального решения.
            • 15 лет назад, скрыть # ^ |
               
              Проголосовать: нравится 0 Проголосовать: не нравится
              А у кого-то он может быть детерминированный в том смысле, что RandSeed фиксирован. Тогда те, кто знает, как работает генератор случайных чисел в данной версии компилятора, смогут такой код поломать, а другие - нет (и жюри тоже навряд ли, ибо код изначально не видит). Я вот не знаю.
          • 15 лет назад, скрыть # ^ |
            ← Rev. 2  
            Проголосовать: нравится 0 Проголосовать: не нравится

            По-моему вполне нормальная тактика - добавить антикусорт тест. На мой взгляд гораздо печальнее, когда часть людей на антикусорте хакнут(вбить генератор для антикусорта - дело не хитрое), а у остальных решение пройдет систесты.

            Как написал Xazker - в контесте, где доступны хаки лучше лишний раз добавить рандомайз и обезопаситься от взломов.
            UPD. Ой, оказывается сходная мысль была уже написана kuniavski ниже.
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        Не хочу повторяться, добавлял я эти тесты именно из соображений, что на более серьезном соревновании будет обиднее и.т.д. Хочу задать ровно один вопрос тем , кто считает что не надо валить Qsort за N^2, потому что это не принципиальная част решения и.т.д. Вам не кажется что если два человека в разных комнатах напишут так, и одного взломают а другого нет - будет обиднее, тому у кого упало?
        • 15 лет назад, скрыть # ^ |
          ← Rev. 2  
          Проголосовать: нравится 0 Проголосовать: не нравится

          По-моему это обидно ровно на столько же, на сколько и в случае пары участников, у одного из которых прошло(с рэндомом), а у другого нет(без), хотя разницы почти нету. 
          Впрочем, на самый мой первы вопрос "Зачем все-таки авторы так сделали?" я ответ получил, спасибо.
15 лет назад, скрыть # |
 
Проголосовать: нравится +29 Проголосовать: не нравится
Заработался, не смог писать раунд, да еще голова болела.
Смотрю задачи. Авторы молодцы, победителю слава!
15 лет назад, скрыть # |
 
Проголосовать: нравится +22 Проголосовать: не нравится
Спасибо авторам за хороший контест. И удачи на сборах :)
15 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится
Не писал, но задачи понравились
15 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

К моему решению, написаному на задачу С во время контеста, достаточно добавить ровно 2 символа для того, чтобы она прошла систест:)

UPD: Хватает и одного символа, ведь функция Гранди на всех тестах не первосходит 99.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
How to solve Problem D(Div 1)?
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
   <code> 
    long long lcm ;
    int a,b;
    cin >> a >> b;
    lcm = (a/gcd(a,b))*b;
</code>
why does this overflows ?

15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
In pretest 3 for problem C, there is a voidddd which hasn't been declared, how should these cases be handled?
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Great set :) 
So stupid mistakes in my code but I loved the problems.. Thank you
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
One General Question :: Is it good practice to use long long all the way , because that way I will sure that there will be no overflows. But is it good/alright practice ?

15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
А финальный тесты для первых трех задач div1 объединяются с тестами для последних div2?

Только что заметил, что моя D (div2) не проходит тест
1
typeof void*

Зато финалки прошла :)
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Немного не в тему, но когда будет дата следующего матча?

У меня сейчас 2 варианта: либо он будет очень нескоро, либо нам сообщат о нем очень незадолго до самого матча)

15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
great round, unfortunately It wasn't possible to be in the contest for me, because of the time(it is school time).
By the way, the link to the tutorials is wrong.
greetings
15 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится
Quick suggestion for blog posts: when posts are translated from Russian to English, http://codeforces.me/ profile links should be converted to http://codeforces.me/ links.
15 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится
Another comment: Sometimes when you try to hack a solution, you cannot see the entire line because it is cut off on the right. Maybe you should implement wrapping text around.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
In Div-2 (Prob - C) ,
When I used scanf("%lld%lld",&a,&b); --- it gave me wrong answer.
But when I used cin>>a>>b; --- the solution was accepted!!

What was the problem? Anyone please reply.
15 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
Hey. I can't see the tutorials via that hyperlinks. I guess there need some modification from http://www.codeforces.com/blog/entry/codeforces.com/blog/entry/2121?locale=en to http://codeforces.me/blog/entry/2121?locale=en . Isn't it? :P
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
оповещение пришло на почту за два с половиной часа до контеста, когда меня уже не было дома. Обидно, что пропустил раунд
15 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится
Нельзя не отметить +180 за контест! Авторы просто молодцы, задачи супер!
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Немного странно выглядит предложение
"Это будет необычный раунд, так как авторы контеста подготовили более пяти задач. "

в e-mail оповещении, учитывая, что уже несколько раундов таких было за последнее время
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Is it possible to start allowing hacks even in practice, like topcoder?

Concerning problem D,
I wonder if if final tests contained this type of a test:
We have a large tree with this structure -
4
1 2 1
2 3 2
3 4 3
It is a straight line tree with the largest weight edge at the bottom.
I m guessing final tests, skipped such a case. I could notice solutions without the use of DSU pass the system tests but fail this one.

Appreciate a reply.
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится
    I hope that in addition to this, we can actually see/download the test cases, instead of just seeing a number of '...'s at the end of large cases. Since sometimes I find my program can produce different results on my computer and on the site, I think this could be even more useful. Or maybe there is a way to do it unknown to me now?
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Hey can anyone let me know how to register for beta round #74 div 2 as m a newbie???