Задача A: Особенные пары --- буквально соответствующие пары скобок в последовательности. Построим дерево (лес) вложенности этих пар скобок (достаточно один раз пройти стеком по строке). Заметим, что удаление какой-то пары скобок никак не влияет на то кто с кем остается в паре. Заметим, что удаление пары скобок на дереве значит удаление какой-то вершины и переподвешивание её детей к предку удалаяемой вершины. Ответом на задачу является количество деревьев в лесу, что то же самое, что количество корней в лесу. Для удобства заменим s = "(" + s + ")" чтобы у нас было ровно одно дерево и неудаляемый корень, при этом ответом будет количество его детей. Сделаем ДП вида dp[v][k] --- максимальное количество корней которое мы можем получить в поддереве вершины v удалив ровно k вершин. Это можно легко пересчитывать как dp[v][k] = max(dp[x][k1] + dp[y][k - k1]). Остается заметить что это ДП работает за O(n^2), потому что каждая пара вершин в дереве внесет константу действий в пересчет этой дпшки ровно когда мы будем обрабатывать их LCA.
Задача B1: Для получения максимального значения нам не выгодно включать бит у которого знак '-' и выгодно включать бит где знак '+'. Для получения минимального значения наоборот.
Задача B2: Переведем входные данные в обычные битовые строки и сохраним их в боре от больших битов к меньшим. Чтобы для числа x найти максимальное значение max(x ^ y) надо спускаться по бору и проверять: если текущий знак бита это '+', то можно ли включить бит в числе (x ^ y), если же это '-', то можно ли этот бит наоборот выключить. P.S. вместо бора можно просто делать lower_bound'ы на массиве.
Задача C: Покажем, что при оптимальной стратегии либо Пладислав выиграет за не более чем два своих хода, либо он точно проиграет. Для того чтобы Пладу победить он должен какую-то из скобок сделать равной нулю. Если изначально есть скобка с одинаковыми символами ((a|a) или (!b|!b) например), то он может первым же ходом её занулить. Допустим что таких скобок нет. Если есть символ, который встречается с одинаковым знаком с двумя разными другими переменными ({(a|b)&(a|d)} или {(!a|x)&(!a|!x)} например), то Плад также победит занулив сначала этот символ в обоих скобках и вторым своим ходом занулит один из оставшихся символов (либо Жнри это сделает за Плада как во втором примере). В противном случае все символы разбиваются на пары и Жнри просто будет доделывать каждую скобку за Пладом до единицы. Это значит, что достаточно проверить существование первого хода Плада для которого при любом ходе Жнри он сможет его победить своим вторым ходом.
Задача D: Для каждого отрезка спроецируем его на прямую Ox найдя формулы для образов точек через подобие треугольников. После этого можно либо сделать scanline включая и выключая отрезки, либо отсортировать полученные проекции, объеденить в непересекающиеся и посчитать ответ. Важно считывать входные данные в целочисленные типы данных, потому что числа с плавающей точкой медленно считываются (ТЛ53).
Задача E: Считаем все запросы заранее и решим задачу оффлайн. Для каждого значения z запомним у каких запросов было это значение x == z и какие элементы массива a[i] == z. Создадим дерево отрезков на операцию ксора и проинициализируем его нулями. Пойдем по значениям z от 1 до 10^6. Для очередного z пройдем по всем i таким что a[i] == z и обновим в ДО tree.update(pos = i, val = a[i]). После этого ответим на все запросы с x == z просто запросом tree.get(l, r), потому что все элементы a[j] > x в нем сейчас занулены и ответ посчитается корректно.
Задача F: Так как массивы a[] и b[] равноправны, то предположим, что в a[] инверсий меньше чем в b[]. Заметим, что если в b[] есть хотя бы одна инверсия, то в нем найдется пара соседних элементов b[i] = 1 и b[i + 1] = 0. Если поменять их местами, то количество инверсий уменьшится на один, при этом переставление любой пары соседних элементов может изменить количество инверсий не более чем на один. Отсюда ответ это модуль разности количества инверсий в b[] и a[].
Задача B1: Для получения максимального значения нам не выгодно включать бит у которого знак '-' и выгодно включать бит где знак '+'. Для получения минимального значения наоборот.
Задача B2: Переведем входные данные в обычные битовые строки и сохраним их в боре от больших битов к меньшим. Чтобы для числа x найти максимальное значение max(x ^ y) надо спускаться по бору и проверять: если текущий знак бита это '+', то можно ли включить бит в числе (x ^ y), если же это '-', то можно ли этот бит наоборот выключить. P.S. вместо бора можно просто делать lower_bound'ы на массиве.
Задача C: Покажем, что при оптимальной стратегии либо Пладислав выиграет за не более чем два своих хода, либо он точно проиграет. Для того чтобы Пладу победить он должен какую-то из скобок сделать равной нулю. Если изначально есть скобка с одинаковыми символами ((a|a) или (!b|!b) например), то он может первым же ходом её занулить. Допустим что таких скобок нет. Если есть символ, который встречается с одинаковым знаком с двумя разными другими переменными ({(a|b)&(a|d)} или {(!a|x)&(!a|!x)} например), то Плад также победит занулив сначала этот символ в обоих скобках и вторым своим ходом занулит один из оставшихся символов (либо Жнри это сделает за Плада как во втором примере). В противном случае все символы разбиваются на пары и Жнри просто будет доделывать каждую скобку за Пладом до единицы. Это значит, что достаточно проверить существование первого хода Плада для которого при любом ходе Жнри он сможет его победить своим вторым ходом.
Задача D: Для каждого отрезка спроецируем его на прямую Ox найдя формулы для образов точек через подобие треугольников. После этого можно либо сделать scanline включая и выключая отрезки, либо отсортировать полученные проекции, объеденить в непересекающиеся и посчитать ответ. Важно считывать входные данные в целочисленные типы данных, потому что числа с плавающей точкой медленно считываются (ТЛ53).
Задача E: Считаем все запросы заранее и решим задачу оффлайн. Для каждого значения z запомним у каких запросов было это значение x == z и какие элементы массива a[i] == z. Создадим дерево отрезков на операцию ксора и проинициализируем его нулями. Пойдем по значениям z от 1 до 10^6. Для очередного z пройдем по всем i таким что a[i] == z и обновим в ДО tree.update(pos = i, val = a[i]). После этого ответим на все запросы с x == z просто запросом tree.get(l, r), потому что все элементы a[j] > x в нем сейчас занулены и ответ посчитается корректно.
Задача F: Так как массивы a[] и b[] равноправны, то предположим, что в a[] инверсий меньше чем в b[]. Заметим, что если в b[] есть хотя бы одна инверсия, то в нем найдется пара соседних элементов b[i] = 1 и b[i + 1] = 0. Если поменять их местами, то количество инверсий уменьшится на один, при этом переставление любой пары соседних элементов может изменить количество инверсий не более чем на один. Отсюда ответ это модуль разности количества инверсий в b[] и a[].
❤2🥰1
Задача G: Выпишем строку по кругу и для каждой пары соседних символов посчитаем количество шагов чтобы перейти из одного в другой по клавиатуре (манхеттенское расстояние). Ответом будет сумма всех таких расстояний минус расстояние из s[l] в s[1]. Циклический сдвиг строки позволяет переместить этот отнимаемый переход куда угодно, поэтому оптимально переместить его в позицию с максимальным расстоянием до следующего символа.
Задача H: Если вторая атака наносит больше урона, чем первая, то делаем её всегда когда можем, иначе всегда делаем первую атаку.
Задача I: Так как в вершинах можно останавливаться, то логично для каждой вершины посчитать dp[v] --- самый маленький момент времени когда мы сможем в неё приехать. Если аккуратно посмотреть, то такое dp подходит для алгоритма Дейкстры и нужно просто его применить.
Задача J: Если x = 1, то p >= 2 и все дроби просто равны нулю. Пусть x >= 2. Заметим, что floor(x / y) = (x - (x mod y)) / y. Следовательно floor(1 / p) + floor(x / p) + ... + floor(x^n / p) = (1 - (1 mod p)) / p + (x - (x mod p)) / p + ... + (x^n - (x^n mod p)) / p = ((1 + x + ... + x^n) - (1 mod p) - (x mod p) - ... - (x^n mod p)) / p. Сумму 1 + x + ... + x^n можно найти по формуле сокращенного умножения (x^{n + 1} - 1) / (x - 1). Заметим, что x^k mod p по малой теореме Ферма циклично с периодом p - 1, следовательно достаточно для каждого 0 <= k <= p - 1 посчитать вклад остатка x^k mod p в общую сумму и найти ответ.
Задача K: Нарисуем точки на прямой и ограничение p[i] <= x сделаем в виде полуинтервала [p[i], inf), а p[i] >= x в виде полуинтервала (-inf, p[i]]. Тогда нам надо найти точку, которая не лежит на минимальном количестве полуинтервалов. Отсюда понятно, что можно считать все запросы в оффлайн и сжать координаты до [1, n + m]. Теперь для каждого p[i] в дереве отрезков сделаем += 1 на все точки, которые не входят в соответствующий интервал (то есть буквально скажем, что им надо изменить знак одного дополнительного неравенства); для p[i] <= x нужно сделать tree.update(l = 1, r = p[i] - 1, val += 1) например. Теперь пройдем по запросам постепенно обновляя дерево отрезков и делая запрос tree.getmin(1, n + m).
Задача H: Если вторая атака наносит больше урона, чем первая, то делаем её всегда когда можем, иначе всегда делаем первую атаку.
Задача I: Так как в вершинах можно останавливаться, то логично для каждой вершины посчитать dp[v] --- самый маленький момент времени когда мы сможем в неё приехать. Если аккуратно посмотреть, то такое dp подходит для алгоритма Дейкстры и нужно просто его применить.
Задача J: Если x = 1, то p >= 2 и все дроби просто равны нулю. Пусть x >= 2. Заметим, что floor(x / y) = (x - (x mod y)) / y. Следовательно floor(1 / p) + floor(x / p) + ... + floor(x^n / p) = (1 - (1 mod p)) / p + (x - (x mod p)) / p + ... + (x^n - (x^n mod p)) / p = ((1 + x + ... + x^n) - (1 mod p) - (x mod p) - ... - (x^n mod p)) / p. Сумму 1 + x + ... + x^n можно найти по формуле сокращенного умножения (x^{n + 1} - 1) / (x - 1). Заметим, что x^k mod p по малой теореме Ферма циклично с периодом p - 1, следовательно достаточно для каждого 0 <= k <= p - 1 посчитать вклад остатка x^k mod p в общую сумму и найти ответ.
Задача K: Нарисуем точки на прямой и ограничение p[i] <= x сделаем в виде полуинтервала [p[i], inf), а p[i] >= x в виде полуинтервала (-inf, p[i]]. Тогда нам надо найти точку, которая не лежит на минимальном количестве полуинтервалов. Отсюда понятно, что можно считать все запросы в оффлайн и сжать координаты до [1, n + m]. Теперь для каждого p[i] в дереве отрезков сделаем += 1 на все точки, которые не входят в соответствующий интервал (то есть буквально скажем, что им надо изменить знак одного дополнительного неравенства); для p[i] <= x нужно сделать tree.update(l = 1, r = p[i] - 1, val += 1) например. Теперь пройдем по запросам постепенно обновляя дерево отрезков и делая запрос tree.getmin(1, n + m).
🤯3🥰1
RUS:
Уважаемые финалисты!
Всем командам-финалистам были высланы приглашения на финал на почту капитана, которую он указывал при регистрации. Пожалуйста, подтвердите свое участие. Обращаем ваше внимание, что все участники команды должны быть школьниками.
Командам, занявшим места после 40-го, приглашения могут приходить позже в случае отказа участия некоторых команд.
KAZ:
Құрметті финалисттер!
Барлық финалист командаларға финалға шақырулар капитанның тіркеу кезінде көрсеткен поштасына жіберілді. Қатысуды растауларыңызды сұраймыз. Команда мүшелерінің барлығы мектеп оқушылары болуы керектігін ескертеміз.
40-шы орыннан кейінгі командаларға кейбір командалардың қатысудан бас тартуы жағдайында шақырулар кейінірек келуі мүмкін.
ENG:
Dear Finalists,
Invitations have been sent to all finalist teams for the final to the captain's email provided during registration. Please confirm your participation. Please note that all team members must be school students.
Teams placed after the 40th position may receive invitations later in case some teams decline to participate.
Уважаемые финалисты!
Всем командам-финалистам были высланы приглашения на финал на почту капитана, которую он указывал при регистрации. Пожалуйста, подтвердите свое участие. Обращаем ваше внимание, что все участники команды должны быть школьниками.
Командам, занявшим места после 40-го, приглашения могут приходить позже в случае отказа участия некоторых команд.
KAZ:
Құрметті финалисттер!
Барлық финалист командаларға финалға шақырулар капитанның тіркеу кезінде көрсеткен поштасына жіберілді. Қатысуды растауларыңызды сұраймыз. Команда мүшелерінің барлығы мектеп оқушылары болуы керектігін ескертеміз.
40-шы орыннан кейінгі командаларға кейбір командалардың қатысудан бас тартуы жағдайында шақырулар кейінірек келуі мүмкін.
ENG:
Dear Finalists,
Invitations have been sent to all finalist teams for the final to the captain's email provided during registration. Please confirm your participation. Please note that all team members must be school students.
Teams placed after the 40th position may receive invitations later in case some teams decline to participate.
👍4❤1🤯1😱1
Forwarded from ОФ Beyond Curriculum
Хотите помогать школьникам открывать мир науки? Сделайте пожертвование на организацию APhB, WSO, ACC, NChB
Ваше пожертвование поддержит проведение Алматинских физических боев, турнира по ракетостроению WSO, Национальных химических боев и Олимпиады по программированию ACC.
Beyond Curriculum объединяет более 100 энтузиастов из ведущих школ и университетов (MIT, Yale, Brown, UPenn, NYUAD, Georgia Tech, KAIST, HKUST, МФТИ, NU) и призеров международных олимпиад.
Мы из первых рук знаем, насколько важны соревнования: они создают сообщество увлеченных учеников, выявляют таланты и мотивируют детей развиваться в науке.
Как сделать пожертвование: перейдите на сайт bc-pf.org/crowdfund, выберите соревнование (APhB, NChB, ACC, WSO), укажите сумму пожертвования, введите ваш E-mail и примите условия договора. Остатки средств после турниров будут переведены в общий Фонд Развития. Все пожертвования будут учтены и отражены в отчетах. Поддержите будущее науки!
Ваше пожертвование поддержит проведение Алматинских физических боев, турнира по ракетостроению WSO, Национальных химических боев и Олимпиады по программированию ACC.
Beyond Curriculum объединяет более 100 энтузиастов из ведущих школ и университетов (MIT, Yale, Brown, UPenn, NYUAD, Georgia Tech, KAIST, HKUST, МФТИ, NU) и призеров международных олимпиад.
Мы из первых рук знаем, насколько важны соревнования: они создают сообщество увлеченных учеников, выявляют таланты и мотивируют детей развиваться в науке.
Как сделать пожертвование: перейдите на сайт bc-pf.org/crowdfund, выберите соревнование (APhB, NChB, ACC, WSO), укажите сумму пожертвования, введите ваш E-mail и примите условия договора. Остатки средств после турниров будут переведены в общий Фонд Развития. Все пожертвования будут учтены и отражены в отчетах. Поддержите будущее науки!
❤2
RUS:
Напоминаю, что все участники должны подтвердить свое участие в финале, который пройдет в г. Алматы, по почте и предоставить подтверждающие документы о том, что вы школьник. Например: справка из школы или документ, подтверждающий ваш возраст.
KAZ:
Барлық қатысушылар Алматы қаласында өтетін финалда өздерінің қатысуын растауы керек және оқушы екендігін растайтын құжаттарды пошта арқылы жіберуі тиіс. Мысалы: мектептен анықтама немесе жасыңызды растайтын құжат.
ENG:
I remind you that all participants must confirm their participation in the finals, which will be held in Almaty, by mail and submit documents confirming that you are a student. For example: a school certificate or a document confirming your age.
P.S
Все подтверждения отправляйте на почту d.tatar@acc.bc-pf.org
Барлық растауларды d.tatar@acc.bc-pf.org электронды поштасына жіберіңіздер
Send all confirmations to d.tatar@acc.bc-pf.org
Напоминаю, что все участники должны подтвердить свое участие в финале, который пройдет в г. Алматы, по почте и предоставить подтверждающие документы о том, что вы школьник. Например: справка из школы или документ, подтверждающий ваш возраст.
KAZ:
Барлық қатысушылар Алматы қаласында өтетін финалда өздерінің қатысуын растауы керек және оқушы екендігін растайтын құжаттарды пошта арқылы жіберуі тиіс. Мысалы: мектептен анықтама немесе жасыңызды растайтын құжат.
ENG:
I remind you that all participants must confirm their participation in the finals, which will be held in Almaty, by mail and submit documents confirming that you are a student. For example: a school certificate or a document confirming your age.
P.S
Все подтверждения отправляйте на почту d.tatar@acc.bc-pf.org
Барлық растауларды d.tatar@acc.bc-pf.org электронды поштасына жіберіңіздер
Send all confirmations to d.tatar@acc.bc-pf.org
👍1🤯1
KAZ
📣 ҚБТУ ҰБТ Almaty Code Cup жеңімпаздарына гранттар береді! 🌟
Керемет жаңалық! Қазақстан-Британ Техникалық Университеті (ҚБТУ) Almaty Code Cup байқауының жеңімпаздарына гранттар бөлінетінін жариялады.
RUS
📣 КБТУ предоставит гранты победителям Almaty Code Cup! 🌟
Отличные новости! Казахстанско-Британский Технический Университет (КБТУ) объявил о выделении грантов победителям конкурса Almaty Code Cup.
ENG
📣 KBTU to Award Scholarships to Almaty Code Cup Winners! 🌟
Great news! The Kazakh-British Technical University (KBTU) has announced that it will be awarding scholarships to the winners of the Almaty Code Cup.
📣 ҚБТУ ҰБТ Almaty Code Cup жеңімпаздарына гранттар береді! 🌟
Керемет жаңалық! Қазақстан-Британ Техникалық Университеті (ҚБТУ) Almaty Code Cup байқауының жеңімпаздарына гранттар бөлінетінін жариялады.
RUS
📣 КБТУ предоставит гранты победителям Almaty Code Cup! 🌟
Отличные новости! Казахстанско-Британский Технический Университет (КБТУ) объявил о выделении грантов победителям конкурса Almaty Code Cup.
ENG
📣 KBTU to Award Scholarships to Almaty Code Cup Winners! 🌟
Great news! The Kazakh-British Technical University (KBTU) has announced that it will be awarding scholarships to the winners of the Almaty Code Cup.
🔥9🤯2❤1👍1
RUS:
Всем финалистам на почту была выслана ссылка на телеграмм группу финалистов, прошу принять приглашение, скинуть всем своим сокомандникам и тим-лидерам. ЭТА ГРУППА ОБЯЗАТЕЛЬНА ДЛЯ ВСЕХ ФИНАЛИСТОВ. Этой ссылкой запрещено делиться с людьми которые не состоят в вашей команде!
KAZ:
Барлық финалистерге поштаға финалистер тобына жеделхаттарға сілтеме жіберілді, шақыруды қабылдауды, барлық командаластары мен Тим көшбасшыларына лақтыруды сұраймын. БҰЛ ТОП БАРЛЫҚ ФИНАЛИСТЕР ҮШІН МІНДЕТТІ БОЛЫП ТАБЫЛАДЫ. Бұл сілтемені сіздің командаңызда жоқ адамдармен бөлісуге тыйым салынады!
ENG:
All finalists have been sent a link to the finalists' Telegram group via email. Please accept the invitation and share it with all your team members and team leaders. THIS GROUP IS MANDATORY FOR ALL FINALISTS. This link must not be shared with anyone who is not part of your team!
Всем финалистам на почту была выслана ссылка на телеграмм группу финалистов, прошу принять приглашение, скинуть всем своим сокомандникам и тим-лидерам. ЭТА ГРУППА ОБЯЗАТЕЛЬНА ДЛЯ ВСЕХ ФИНАЛИСТОВ. Этой ссылкой запрещено делиться с людьми которые не состоят в вашей команде!
KAZ:
Барлық финалистерге поштаға финалистер тобына жеделхаттарға сілтеме жіберілді, шақыруды қабылдауды, барлық командаластары мен Тим көшбасшыларына лақтыруды сұраймын. БҰЛ ТОП БАРЛЫҚ ФИНАЛИСТЕР ҮШІН МІНДЕТТІ БОЛЫП ТАБЫЛАДЫ. Бұл сілтемені сіздің командаңызда жоқ адамдармен бөлісуге тыйым салынады!
ENG:
All finalists have been sent a link to the finalists' Telegram group via email. Please accept the invitation and share it with all your team members and team leaders. THIS GROUP IS MANDATORY FOR ALL FINALISTS. This link must not be shared with anyone who is not part of your team!
Список команд финалистов:
Yet another team from Moscow
depressed toxic 12yo
Ось Астана-Семей
Оренбургская мафия
WeShowSpeed
Фон(!)
We aren’t good, but 400k is 400k
RGB United
Abi, i have no idea
DAuN
МегаПачкаЧипсовЛейс
Kazakh+5th+SmartMonkey
Натуральные фрукты
Не будь вторым
Kolhoz
Fan club of Segment Tree
СлавноеБали
Triad
Психакидс
ЧалкаBastuz
red coders
Чудо Зверята
Дрим тим
Базар Джексон
Montenegro
Untitled
Биба и Боба
2 кота и 1 кошечка
Имаш ты где?
gooddoog
ACT
3 серых
Alikhan и его друзья
Байтовые магнаты
БУМ
Yet another team from Moscow
depressed toxic 12yo
Ось Астана-Семей
Оренбургская мафия
WeShowSpeed
Фон(!)
We aren’t good, but 400k is 400k
RGB United
Abi, i have no idea
DAuN
МегаПачкаЧипсовЛейс
Kazakh+5th+SmartMonkey
Натуральные фрукты
Не будь вторым
Kolhoz
Fan club of Segment Tree
СлавноеБали
Triad
Психакидс
ЧалкаBastuz
red coders
Чудо Зверята
Дрим тим
Базар Джексон
Montenegro
Untitled
Биба и Боба
2 кота и 1 кошечка
Имаш ты где?
gooddoog
ACT
3 серых
Alikhan и его друзья
Байтовые магнаты
БУМ
🔥20❤3
KAZ:
🙌 Almaty Code Cup қатысушылары үшін Алматы қ. РФММ интернаты ұсынылатынын қуана хабарлаймыз. Барлық қатысушылар ыңғайлы орналасып, РФММ жайлы жатақханасында жарысқа дайындала алады. Біз сізді күтеміз❗️
RUS:
🙌 Мы рады объявить, что для участников Almaty Code Cup будет предоставлен интернат РФМШ г. Алматы. Все участники смогут комфортно разместиться и подготовиться к соревнованиям в уютном общежитии РФМШ. Ждем вас ❗️
ENG:
🙌 We are pleased to announce that accommodation will be provided for participants of the Almaty Code Cup at NPhMS Almaty. All participants will be able to stay comfortably and prepare for the competition in the cozy dormitory of RFMSh. We look forward to seeing you❗️
🙌 Almaty Code Cup қатысушылары үшін Алматы қ. РФММ интернаты ұсынылатынын қуана хабарлаймыз. Барлық қатысушылар ыңғайлы орналасып, РФММ жайлы жатақханасында жарысқа дайындала алады. Біз сізді күтеміз❗️
RUS:
🙌 Мы рады объявить, что для участников Almaty Code Cup будет предоставлен интернат РФМШ г. Алматы. Все участники смогут комфортно разместиться и подготовиться к соревнованиям в уютном общежитии РФМШ. Ждем вас ❗️
ENG:
🙌 We are pleased to announce that accommodation will be provided for participants of the Almaty Code Cup at NPhMS Almaty. All participants will be able to stay comfortably and prepare for the competition in the cozy dormitory of RFMSh. We look forward to seeing you❗️
🔥7😱3👍1
RUS:
С радостью сообщаем, что Яндекс стал спонсором Almaty Code Cup! 🎉 Благодаря их поддержке наш турнир вышел на новый уровень. Яндекс оказал огромную помощь в организации мероприятия и подготовил потрясающие призы для участников! 🏆💻
ENG:
We are pleased to announce that Yandex has become a sponsor of the Almaty Code Cup! 🎉
Thanks to their support, our tournament has reached a new level. Yandex has provided tremendous assistance in organizing the event and has prepared amazing prizes for the participants! 🏆💻
KAZ:
Яндекс Almaty Code Cup демеушісі болғанын қуана хабарлаймыз! 🎉 Олардың қолдауының арқасында біздің турнир жаңа деңгейге көтерілді. Яндекс іс-шараны ұйымдастыруға үлкен көмек көрсетті және қатысушылар үшін керемет сыйлықтар дайындады! 🏆💻
С радостью сообщаем, что Яндекс стал спонсором Almaty Code Cup! 🎉 Благодаря их поддержке наш турнир вышел на новый уровень. Яндекс оказал огромную помощь в организации мероприятия и подготовил потрясающие призы для участников! 🏆💻
ENG:
We are pleased to announce that Yandex has become a sponsor of the Almaty Code Cup! 🎉
Thanks to their support, our tournament has reached a new level. Yandex has provided tremendous assistance in organizing the event and has prepared amazing prizes for the participants! 🏆💻
KAZ:
Яндекс Almaty Code Cup демеушісі болғанын қуана хабарлаймыз! 🎉 Олардың қолдауының арқасында біздің турнир жаңа деңгейге көтерілді. Яндекс іс-шараны ұйымдастыруға үлкен көмек көрсетті және қатысушылар үшін керемет сыйлықтар дайындады! 🏆💻
🔥22👏2🤯1
RUS:
📢 Дорогие участники Almaty Code Cup! 🎉
Финал уже близится, и мы хотим напомнить вам о важности подготовки! Для вашего удобства мы подготовили чеклист, который вы можете найти в прикрепленных фотографиях.
KAZ:
📢 Құрметті Almaty Code Cup қатысушылары! 🎉
Финал жақындап қалды және біз сізге дайындықтың маңыздылығын еске салғымыз келеді! Сізге ыңғайлы болу үшін біз чек тізімін дайындадық, оны сіз тіркелген фотосуреттерден таба аласыз.
ENG:
📢 Dear Almaty Code Cup participants! 🎉
The final is approaching, and we want to remind you of the importance of preparation! For your convenience, we have prepared a checklist, which you can find in the attached photos.
📢 Дорогие участники Almaty Code Cup! 🎉
Финал уже близится, и мы хотим напомнить вам о важности подготовки! Для вашего удобства мы подготовили чеклист, который вы можете найти в прикрепленных фотографиях.
KAZ:
📢 Құрметті Almaty Code Cup қатысушылары! 🎉
Финал жақындап қалды және біз сізге дайындықтың маңыздылығын еске салғымыз келеді! Сізге ыңғайлы болу үшін біз чек тізімін дайындадық, оны сіз тіркелген фотосуреттерден таба аласыз.
ENG:
📢 Dear Almaty Code Cup participants! 🎉
The final is approaching, and we want to remind you of the importance of preparation! For your convenience, we have prepared a checklist, which you can find in the attached photos.
❤4👏1
Контест начался!!! Зрительский стендингс для зрителей: https://codeforces.com/spectator/ranklist/20b736ea6b9d0a902096d826cfbf08e5
Codeforces
Standings - Codeforces
Codeforces. Programming competitions and contests, programming community
👍4
Зеркало финального раунда будет доступно по следующей ссылке с 12:00 до 17:00 по Алматинскому времени: https://codeforces.com/contestInvitation/4a60f75f2d3fe31b2161854a6327efb0be079c2f