Diferente pentru deque-si-aplicatii intre reviziile #83 si #84

Nu exista diferente intre titluri.

Diferente intre continut:

    sum  = 0;
    last = 0;
    // indicii head si tail ai dequeului
    deque[head = tail = 1] = 0;
    head = tail = 1;
    // poziţia lui bst[0] se inserează în deque
    deque[1] = 0;
    pentru i = 1, N execută
        sum += S[i];
        temp = bst[ deque[tail] ];
        cât timp (head <= tail) şi S[ deque[tail] ] <= S[i] execută
        cât timp (head <= tail) şi (S[ deque[tail] ] <= S[i]) execută
            temp = Min(temp, iMin[tail]);
            tail --;
        sfcâttimp
        sfâit;
        // adaug poziţia i la deque
        tail ++;
        deque[tail] = i;
        // actualizez iMin[]
        iMin[tail]  = temp;
        // actualizez T[]
        // actualizez T[], arborele de intervale de deque[]
        update(T, tail, iMin[tail] + S[i]);
        // suma valorilor din [last, i] trebuie să nu depăşească M
        cât timp (head <= tail) şi (sum > M) execută
            sum -= S[last];
            dacă (deque[head] == last) atunci
                head ++;
            sfdacă
            sfârşit;
            last ++;
        sfcâttimp
        // actualizez iMin[]
        iMin[head] = query(bst, last - 1, deque[head] - 1);
        sfâit;
        // actualizez iMin[], Tb[] arborele de intervale pe bst[]
        iMin[head] = query(Tb, last - 1, deque[head] - 1);
        // actualizez T[]
        update(T, head, iMin[head] + S[ deque[head] ]);
        // reţin optimul pentru poziţia curentă
        bst[i] = query(T, head, tail);
    sfpentru
        // actualizez Tb[]
        update(Tb, i, bst[i]);
    sfârşit;
    scrie bst[N];
Sfârşit.
==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.