2014山东省第五届ACM省赛 Weighted Median
来源:互联网 发布:不怎么花钱的网络手游 编辑:程序博客网 时间:2024/05/15 01:51
Weighted Median
Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
For n elements x1, x2, ..., xn with positive integer weights w1, w2, ..., wn. The weighted median is the element xk satisfying
and , S indicates
and , S indicates
Can you compute the weighted median in O(n) worst-case?
输入
There are several test cases. For each case, the first line contains one integer n(1 ≤ n ≤ 10^7) — the number of elements in the sequence. The following line contains n integer numbers xi (0 ≤ xi ≤ 10^9). The last line contains n integer numbers wi (0 < wi < 10^9).
输出
One line for each case, print a single integer number— the weighted median of the sequence.
示例输入
710 35 5 10 15 5 2010 35 5 10 15 5 20
示例输出
20
提示
The S which indicates the sum of all weights may be exceed a 32-bit integer. If S is 5, equals 2.5.
来源
2014年山东省第五届ACM大学生程序设计竞赛
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;struct ss{ long long int x; long long int w;};int cmp(ss a,ss b){ return a.x<b.x;}const int maxn = 10000000+1;ss a[maxn];int main(){ int n; while(cin>>n) { long long sum=0,w; for(int i=0; i<n; i++) { a[i].x=0; a[i].w=0; } for(int i=0; i<n; i++) { cin>>a[i].x; } for(int i=0; i<n; i++) { cin>>w; a[i].w=w*2; sum+=w*2; } sum/=2; sort(a,a+n,cmp); long long int s=0; long long int q=a[0].x; for(int i=0; i<n; i++) { s+=a[i].w; if(s>=sum) { q=a[i].x; break; } } cout<<q<<endl; } return 0;}
0 0
- 2014山东省第五届ACM省赛 Weighted Median
- 第五届山东省ACM Weighted Median
- 2014年山东省第五届ACM--Weighted Median
- 山东省第五届ACM大学生程序设计竞赛 Weighted Median
- Weighted Median(山东省第五届ACM大学生程序设计竞赛 )
- 第五届山东省赛J--Weighted Median
- 山东省第五届ACM省赛题——Weighted Median(模拟)
- 山东省第五届ACM大学生程序设计竞赛-Weighted Median(模拟)
- 2014山东省第五届ACM省赛
- 2014山东省第五届ACM省赛 angry_birds_again_and_again
- 2014山东省第五届ACM省赛 Factorial
- 2014山东省第五届ACM省赛 Circle
- 2014山东省第五届ACM省赛 angry_birds_again_and_again
- 2014山东省第五届ACM省赛 Circle
- 2014山东省第五届ACM省赛 Full Binary Tree
- 2014山东省第五届ACM省赛 Hearthstone II
- 2014山东省第五届ACM省赛 Devour Magic
- 2014山东省第五届ACM省赛 Full Binary Tree
- 【按键】[独立按键] - 2:双击
- [ iOS ] 微信分享图片问题解决
- JBoss4 反序列化漏洞
- redis in action 笔记
- storm的消息格式分析
- 2014山东省第五届ACM省赛 Weighted Median
- Rod DoT Hint
- Linux下查看网关方法
- AngularJS中serivce,factory,provider的区别
- Java HashMap工作原理及实现
- Facebook POP 进阶指南
- POJ 2287 Tian Ji -- The Horse Racing&&浙江科技学院第十三届程序设计竞赛1006田忌赛马后传(贪心)
- Hadoop 安装与运行
- Android判断软键盘显示状态并隐藏