void deletedup(int *Arr,int *len) { int p, q; for (p = 0; p < *len - 1; p++){ for (q = p + 1; q < *len;){ if (Arr[p] == Arr[q]) deletepos(Arr, len, q); else q++; } } }
int main() { int t,l; int k; char a[100],b[100]; char c[100]; scanf("%lld",&t); while(t--) { scanf("%s",c); if(strcmp("InitHeap",c)==0) { hsize++; scanf("%s",a); scanf("%s",b); strcpy(h[hsize].first,a); strcpy(h[hsize].last,b); h[hsize].arrpos=hsize; percolateUp(hsize); } else if(strcmp("Insert",c)==0) { hsize++; scanf("%s",a); scanf("%s",b); strcpy(h[hsize].first,a); strcpy(h[hsize].last,b); h[hsize].arrpos=hsize; percolateUp(hsize); k=find(a,b); printf("%d\n",k); } else if(strcmp("FindMin",c)==0) { if(hsize>=1) printf("%s %s\n",h[1].first,h[1].last); else printf("-1\n"); } else if(strcmp("DeleteMin",c)==0) { if(hsize<1) printf("-1\n"); else { printf("%s %s\n",h[1].first,h[1].last); DeleteMin(); } } else if(strcmp("Delete",c)==0) { scanf("%lld",&l); if(l==0) printf("-1\n"); else if(hsize<l) printf("-1\n"); else { printf("%s %s\n",h[l].first,h[l].last); deletepos(l); } } } return 0; }