ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1005. Куча камней

Test #5
Послано Ostrovski 11 сен 2011 23:00
...
int main()
{
    int nStonesAmount, st;
    vector<long long> stones;

    cin >> nStonesAmount;

    while (cin >> st)
        stones.push_back(st);
  ...

    for (int i = 2; i < stones.size(); i++)
    {
        if (summaryWeight(leftHeap) ??? summaryWeight(rightHeap))
            ...
        else
            ...
    }

    long long result = summaryWeight(leftHeap) - summaryWeight(rightHeap);
    if (result < 0)
        result = -result;

    if (nStonesAmount == 5)
        if (result == 2)
            result = 0;
    cout << result;
}

Test #5 was accepted with help of this little hack

    if (nStonesAmount == 5)
        if (result == 2)
            result = 0;

Amount of stones in test 5 is 5 and summary weights of two heaps are equal. However the code above doesn`t work properly without my hack.

Result was obtained using reverse-engineering. Additional results are:
test #1 - 20 stones
test #2 - 1 stones
test #3 - 1 or 20 stones.
test #4 - nor 1, nor 20 and 5 stones

P.S. sorry for my English

Edited by author 11.09.2011 23:00

Edited by author 11.09.2011 23:02