Pagini recente » Cod sursa (job #2460981) | Cod sursa (job #2910430) | pre_oji_2011 | Cod sursa (job #49871) | Cod sursa (job #613499)
Cod sursa(job #613499)
#include <fstream>
using namespace std;
int a[200005],n,i,x,inst;
void swap(int x, int y)
{
int aux;
aux=a[x];a[x]=a[y];a[y]=aux;
}
void heapup(int k)
{
int t;
if (k>1) {
t=k/2;
if (a[k]>a[t]) {
swap(k,t);
heapup(t);
}
}
}
void heapsort(int k)
{
while (k>1) {
swap(1,k);--k;
heapdw(1,k);
}
}
//heapdw
int main()
{
ifstream f("heapuri.in");
ofstream g("heapuri.out");
f>>n;
x=0;
for (i=1;i<=n;i++) {
f>>inst;
if (inst==1) {x++;f>>a[x];}
if (inst==3)
for (i=1;i<=x;i++)
heapup(i);
heapsort(m);
}
f.close();
g.close();
return 0;
}