Cod sursa(job #857127)
| Utilizator | Data | 17 ianuarie 2013 13:20:56 | |
|---|---|---|---|
| Problema | Heapuri | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream f("heapuri.in");
ofstream g("heapuri.out");
void HeapUp (int poz)
{
if (poz>1 && H[P[poz]]<H[P[poz/2]])
{
int aux=H[P[poz]
H[P[poz]=H[p[poz/2]];
H[P[poz/2]]=aux;
aux=V[P[poz]];
V[P[poz]]=V[P[poz/2]];
V[P[poz/2]]=aux;
HeapUp(poz/2);
}
else return;
}
int main ()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>x;
if (x==1)
{
f>>H[++nr];
V[nr]=P[nr]=nr;
HeapUp(nr)
}
}
}
