в ближайшее время пройдет еще квалификация в TopCoder Open
мониторить соревнования можно
тут
в 4й задаче — например динамическое программирование по подмножествам:
допустим нам надо вычислить ответ для битовой маски u (изначально маска полная, там все единицы)
переберем все ее подмаски, подмаска — отдельная отправленная посылка, в ней может находиться какая-то маска предметов, посчитаем и вычислим ее стоимость, уберем из маски u все выбранные товары и запустим рекурсивно вычислять остаток этой маски u
таким образом мы разбиваем предметы на несколько посылок, для каждой посылки своя маска и стоимость, сложность O((3^n)*n)
пример решения