Cod sursa(job #3329836)

Utilizator g.vladGociu Vlad g.vlad Data 16 decembrie 2025 10:03:58
Problema Heapuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.13 kb

#include <fstream>
#include <vector>
#include <utility>

std::ifstream in("heapuri.in");
std::ofstream out("heapuri.out");

using std::swap;

template <class T>
class Heap {
private:
    std::vector<T> elements;
public:
    inline T const& get_minimum() const {
        return elements[0];
    }

    inline T&& get_minimum() {
        return elements[0];
    }

    void delete_idx(unsigned idx) {
        unsigned idx2 = this->elements.size() - 1;
        swap(this->elements[idx], this->elements[idx2]);
        this->elements.pop();
        while(this->elements[idx >> 1] < this->elements[idx]) {
            swap(this->elements[idx >> 1], this->elements[idx]);
            idx = idx >> 1;
        }

        while(this->elements.size() < idx * 2 ) {

        }
        ...
    }

    void insert(T&& elem) {
        unsigned idx = this->elements.size();
        this->elements.push_back(elem);
        while(this->elements[idx >> 1] < this->elements[idx]) {
            swap(this->elements[idx >> 1], this->elements[idx]);
            idx = idx >> 1;
        }
    }
}

int main()
{


    return 0;
}