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 satisfyingCan you compute the weighted median in O(n) wZ??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcnN0LWNhc2U/CiAKCjxoMj4KyuTI6zwvaDI+CgpUaGVyZSBhcmUgc2V2ZXJhbCB0ZXN0IGNhc2VzLiBGb3IgZWFjaCBjYXNlLCB0aGUgZmlyc3QgbGluZSBjb250YWlucyBvbmUgaW50ZWdlciBuKDE/odw/P24/odw/MTBeNykgoaogdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgc2VxdWVuY2UuIFRoZSBmb2xsb3dpbmcgbGluZSBjb250YWlucyBuIGludGVnZXIgbnVtYmVycyB4aSAoMD+h3D94aT+h3D8xMF45KS4gVGhlIGxhc3QgbGluZQogY29udGFpbnMgbiBpbnRlZ2VyIG51bWJlcnMgd2kgKDA/PD93aT88PzEwXjkpLgogCgo8aDI+Csrks/Y8L2gyPgoKT25lIGxpbmUgZm9yIGVhY2ggY2FzZSwgcHJpbnQgYSBzaW5nbGUgaW50ZWdlciBudW1iZXKhqiB0aGUgd2VpZ2h0ZWQgbWVkaWFuIG9mIHRoZSBzZXF1ZW5jZS4KIAoKPGgyPgrKvsD9yuTI6zwvaDI+Cgo8cHJlIGNsYXNzPQ=="brush:java;">7 10 35 5 10 15 5 20 10 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,来源
2014年山东省第五届ACM大学生程序设计竞赛
当时最后半个多小时三个人死活没想出来怎么做,现在拿出这道题一看十几分钟就解决了。。。现场的时候心态实在是太重要了,一慌脑子就容易空白。。。
代码:
#include#include #include using namespace std; const int maxn=1e7+2; int n; struct Node { int x,w; }node[maxn]; bool cmp(Node a,Node b) { if(a.x