Bash.org.lv /местный сборник маразмов/
Bash.org.lv /местный сборник маразмов/
Bash.org.lv RSS feed

[ все цитаты | топ 50 | случайная цитата | поиск | добавить ] / [ титульная страница | новости | форум ]


Вы можете проголосовать за или против любой цитаты нажав, соответственно, на "+" или "-" около нее.
Вы также можете прислать свою цитату нажав на "добавить".

-> #1077 / рейтинг: 307 [+|-] / 23.07.2007, 07:44 / таг: код
как ни странно, этот написанный за 15 минут кусок кода сработал с первого раза:

int query_recursive(const int node, const int l, const int r)
{
    int min1 = INT_MAX, min2 = INT_MAX, min3 = INT_MAX;
    if (r - l + 1 == tree[node].leaf_count)
        return tree[node].min;
    if (tree[tree[node].child[0]].leaf_count >= l)
        min1 = query_recursive(tree[node].child[0], l, (tree[tree[node].child[0]].leaf_count < r) ? tree[tree[node].child[0]].leaf_count : r);
    if (l <= tree[tree[node].child[0]].leaf_count + tree[tree[node].child[1]].leaf_count)
        min2 = query_recursive(tree[node].child[1], (l - tree[tree[node].child[0]].leaf_count >= 1) ? l - tree[tree[node].child[0]].leaf_count : 1, (tree[tree[node].child[0]].leaf_count + tree[tree[node].child[1]].leaf_count < r) ? tree[tree[node].child[1]].leaf_count : r - tree[tree[node].child[0]].leaf_count);
    if (tree[node].child[2])
        if (tree[tree[node].child[0]].leaf_count + tree[tree[node].child[1]].leaf_count < r)
            min3 = query_recursive(tree[node].child[2], (l - (tree[tree[node].child[0]].leaf_count + tree[tree[node].child[1]].leaf_count) >= 1) ? l - (tree[tree[node].child[0]].leaf_count + tree[tree[node].child[1]].leaf_count) : 1, r - (tree[tree[node].child[0]].leaf_count + tree[tree[node].child[1]].leaf_count));
    return (((min1 < min2) ? min1 : min2) < min3) ? ((min1 < min2) ? min1 : min2) : min3;
}
[ перейти к началу страницы ]

идея: © bash.org crew
данный сайт: © Filosoff, 2006-2009
проект является частью Erased.info Network
всего цитат: 1356 (новых в день: ~1.52) / ожидающих проверку: 2
время генерации страницы: 0.001 сек.
сжатие gzip: включено
SQL запросов: 4
Top.LV