问题描述
- usaco 2005 奶牛大学 求c++程序
- 问题描述:
Bessie统计到人类拥有很多大学可以去就读,而奶牛们却一个大学也没有。为了解决这个问题,她和她的同伴们建立了一所奶牛大学Moo大学。
为了防止笨牛入学,学校的创立者搞了一个奶牛智力测试(CSAT),它的分数S在区间1.. 2 109内。
Moo大学的学费很昂贵:不是所有奶牛都能负担。事实上,大多数奶牛需要一些财政帮助aid(0 aid 105)。政府不会给奶牛任何资金,所以所有的资金都来自于学校有限的资金F。
更糟的是,虽然有c头奶牛报考,Moo大学却只能接受n头奶牛,n为奇数。Bessie既要让这n头奶牛享受最大限度的教育资源,又要它们CSAT分数的中位数尽可能高 。
这里说一下对于一个奇数个数组成的集合中中位数的概念。例如,集合{38975}的中位数是7,因为有两个数小于7,有两个数大于7。给出每头奶牛的分数和所需的财政补贴数,可以接纳的奶牛数,补助的资金总数,求出中位数最大的可能值。输入文件:
第一行包括三个整数n(1 n 19999)头奶牛,c(n c 100000)头奶牛报考,f(0 f 2 109) 有限的资金。
第2..c+1行,第i+1行有两个数Si(0 Si 2 109)Qi(0 Qi 105)。输出文件:
输出仅一行一个整数,表示考试分数的最大中位数,如果预算不够资助任意n 头奶牛的组合,输出?1。样例输入输出
finance.in
3 5 70
30 25
50 21
20 20
5 18
35 30finance.out
35输入输出样例说明
贝西接受分数为5; 35; 50 的奶牛,中位数为35,需支付的奖学金总额为18+30+21 = 69,在预算范围之内45。
解决方案
这种竞赛的题目最好自己独立完成,这样才是对自己所学知识的最好的肯定。有不清楚的具体问。
时间: 2024-11-02 02:50:59