poj 2388 Who's in the Middle
2015-02-28 20:58
579 查看
原题链接:http://poj.org/problem?id=2388
数据很水,可用堆,可快排。
具体实现如下:
数据很水,可用堆,可快排。
具体实现如下:
#include<stdio.h> #include<stdlib.h> #include<string.h> #define Max_N 100002 int heap[Max_N],sz; void push(int x){ int i=sz++; while(i>0){ int p=(i-1)>>1; if(heap[p]<=x) break; heap[i]=heap[p]; i=p; } heap[i]=x; } int pop(){ int x,i=0,ret=heap[0]; x=heap[--sz]; while((i<<1)+1<sz){ int a=(i<<1)+1,b=(i<<1)+2; if(b<sz && heap[a]>heap[b]) a=b; if(heap[a]>=x) break; heap[i]=heap[a]; i=a; } heap[i]=x; return ret; } int main() { int i,n,ret; while(EOF!=scanf("%d",&n)){ sz=0; for(i=0;i<n;i++){ scanf("%d",&ret); push(ret); } for(i=0; i < n>>1;i++) pop(); printf("%d\n",pop()); } return 0; }
相关文章推荐
- POJ 2388 Who's in the Middle
- Who's in the Middle - POJ 2388 水题
- POJ 2388:Who's in the Middle
- POJ 2388 Who's in the Middle
- poj 2388 Who's in the Middle
- poj-2388 Who's in the Middle
- poj2388——Who's in the Middle
- POJ 2388 && HDU 1157 Who's in the Middle(水~)
- HDU 1157 POJ 2388 Who's in the Middle 求中位数
- poj 2388 Who's in the Middle 排序,大水
- POJ 2388 Who's in the Middle(堆排序)
- POJ 2388 Who's in the Middle(排序)
- Poj 2388 Who's in the Middle
- poj 2388 Who&#39;s in the Middle
- Who's in the Middle(poj 2388)
- POJ 2388 Who's in the Middle 快排解法
- poj 2388 Who's in the Middle
- POJ--2388 Who's in the Middle
- Poj 2388 Who's in the Middle
- POJ_2388 Who's in the Middle