Пока все мировое сообщество спортивных программистов затаив дыхание ждет новостей о времени и месте проведения финала, мы решили не затягивать с раундом и в поезде по дороге из Петрозаводска в Саратов придумали задачи. В купе присутствовали – Михаил Мирзаянов, Артем Рахов, Максим Иванов. Задачи перевела Мария Белова.
Удачи!
Артем Рахов и команда Codeforces
19 * MrM 2454
410 00:45
820 00:45
1224 00:46
20 * roxion1377 2244
374 01:03
748 01:03
1122 01:03
о_О научите меня так быстро программы писать.
че-то тут не чисто :D
п.с. это в комнате, которой я нахожусь))
http://codeforces.me/contest/59/room/104#
Давно не получал столько удовольствия от решения задач.
Спасибо авторам! Видать поездка хорошо прошла. :-)
Unknown verdict'ы и Ошибки тестирования - это результаты технических сбоев на одном из проверяющих серверов. В настоящий момент все уже исправлено.
EDIT: now available.
Есть небольшой вопрос по 3-ей задаче. Вернее, по взлому моего решения этой задачи.
Тест взломщика:
5
???a????????????
Мой вывод:
bcdaeeeeeeeeadcb
Вывод тестурующей системы:
aaaabcdeedcbaaaa
Вердит взлома - успешный взлом. Чем мой вывод на этот тест не соответствует условию задачи?
Искомый парень лучший в своей команде?
Нет?
Выводим 1 2 3 ... k-1 k+1 ... 3*n
Да?
Список людей в полученных командах:
[Предыдущие] [ Наша команда: Искомый + Сокомандник1 + Сокомандник2 ] [Последующие]
Q = MAX( Сокомандник1, Сокомандник2 )
Для каждого из [Предыдущие] если он меньше Q, то кидаем в СПИСОК-1 иначе в СПИСОК-2
Сокомандник1 и Сокомандник2 кидаем в СПИСОК-1
Все [Последующие] кидаем в СПИСОК-2
Сортируем списки, выводим сначала 1, потом 2.
Почему кидаем именно так?
Проверим тест
3
4 5 9 1 2 3 7 8 6
4 5 9 1 2 3 7 8 6
1
правильный ответ
2 3 4 5 6 7 8 9
но у некоторых мог получиться
2 3 4 5 9 6 7 8
#define девушка парень
#endif
Решение которое прошло.
1. Если он не капитан (в списке позже любого из сокомандников) выводим отсортированный список всех кроме него.
2. Он капитан. Берем два списка и сливаем.
Список 1. [его сокомандники отсортированные]+[люди, которые остались после момента выбора им команды, отсотированные]
Список 2. [люди, которых выбрали до него, отсортированные]
Замечание 1. + значит что списки просто склеиваем
Замечание 2. Сливаем списки даже не смотря на то что первый не обязательно отсортирован.
Замечание 3. А работает это потому что у нас есть только одно ограничение. Те, которых он выбрал должны идти в списке перед теми, кто на тот момент был доступен. Все остальные идут в любом порядке.
построим граф, в котором вершины - ребра начального, ребро между вершинами (a,b) и (b,c) если тройка (a,b,c) не является плохой.
потом просто запускаем по графу бфс.
UPD
это решение прошло тесты.
var a : array['a'..'z'] of integer;
ch : char;
begin
ch := '?';
inc(a[ch]);
end.
У меня ошибку не выдаёт, но упасть, по-идее, только тут могло
Проверку на границы массивов в Delphi еще никто не отменял. Возможно, на сервере есть {R + }, аувас{R-}
и у меня(все ОК)Нет, ты не понял. Вердикт по этой задаче у меня "в очереди", а в ранклисте уже пишет "финальное тестирование не пройдено"
Вроде в таком случае в ранклисте вообще не ставятся баллы, пока тестирование над кодом не завершится
Странно, написано, что пройдено уже 100%, а куча решений не провереноmy code is correct and is giving correct output on my system....can the moderator please let me know...what is the prob ??
You can found tests and the results below your code.
a[s[s.size()-i-1]]++;
should be
a[s[s.size()-i-1]-'a']++;
After that I got AC.
I used hash-table for checking bad triples and my solution has O(NM) time.
* log(k)).I use C++ set And AC 140ms,O(N*M*log K).Uses Hash is also OK.
Could you tell me your problem-solving process? I cannot solve thie problem, even if using a lot of time. Maybe I need to do more practice, what is the effective?
Thanks a lot!
Practice - yes. The more I solve the faster I find solution. But reading of algo books is good idea too.
For fast solving hard problems you must solving more and more problems a lot of time. I solve nonstandard problems from primary schools. And now I cannot solve some hard problems whatever.
I must do more and more practice to improve my problem solving ability, I hope to get a red name someday... maybe I need long time.
Please explain ur solution to Problem B : Fortune Telling.
I like ur solution to this problem.
Explanation:
1) The Result must be odd.
2) If Sum is odd - return it
3) Else if there was an odd element, find the least (m) of them and subtract from Sum - this is the answer
4) Else if there are no odd elements at all, Marina doesn't love Sasha. :-( Return 0.
while (aa < a.size()) c.PB(a[aa++]);Сдается мне там должен быть не c а res.А вообще весь хост можно упростить если не заводить отдельно b, а сгружать их всех в а, отсортировать а и с и последовательно вывести.Не так понял код =(
I have a question, does contribution affect one's rating? (I know that this is kinda irrelevant to this blog entry, but I dunno how to ask questions, the site doesn't have something like "[email protected]" or "Contact Us", sorry anywayz)
Thanks in advance