国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

POJ2976-Dropping tests-最大化平均值

2019-11-08 18:30:32
字體:
供稿:網(wǎng)友

原題鏈接 Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11056 Accepted: 3857 Description

In a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cumulative average is defined to be

.

Given your test scores and a positive integer k, determine how high you can make your cumulative average if you are allowed to drop any k of your test scores.

Suppose you take 3 tests with scores of 5/5, 0/1, and 2/6. Without dropping any tests, your cumulative average is . However, if you drop the third test, your cumulative average becomes .

Input

The input test file will contain multiple test cases, each containing exactly three lines. The first line contains two integers, 1 ≤ n ≤ 1000 and 0 ≤ k < n. The second line contains n integers indicating ai for all i. The third line contains n positive integers indicating bi for all i. It is guaranteed that 0 ≤ ai ≤ bi ≤ 1, 000, 000, 000. The end-of-file is marked by a test case with n = k = 0 and should not be PRocessed.

Output

For each test case, write a single line with the highest cumulative average possible after dropping k of the given test scores. The average should be rounded to the nearest integer.

Sample Input

3 1 5 0 2 5 1 6 4 2 1 2 7 9 5 6 7 9 0 0 Sample Output

83 100 Hint

To avoid ambiguities due to rounding errors, the judge tests have been constructed so that all answers are at least 0.001 away from a decision boundary (i.e., you can assume that the average is never 83.4997).

Source

Stanford Local 2005 題意:從n門成績中取出k門成績,剩下的成績算加權(quán)平均數(shù)(如題),求最大的平均數(shù)(四舍五入) 思路:二分平均數(shù),這k門成績單位均值的計(jì)算方式與x滿足這樣的關(guān)系這里寫圖片描述 通過變形可以得到 這里寫圖片描述 所以我們只需要按照這個(gè)式子進(jìn)行處理然后排序找到后n-k位加和看是不是大于等于0即可知道該平均數(shù)是否符合條件

#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const double INF = 0x3f3f3f3f;const double EPS = 1.0e-4;//10^-4const int maxn = 1010;int a[maxn],b[maxn],n,c;double t[maxn];bool _can(double x){ for(int i=0;i<n;i++) t[i] = a[i] - x*b[i]; sort(t,t+n); double sum = 0; for(int i=c;i<n;i++){ sum += t[i]; } return sum>=0.0;}int main(){ while(scanf("%d%d",&n,&c)==2 && n+c!=0){//從n個(gè)中取出c個(gè),剩下的求加權(quán)平均數(shù) for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<n;i++) scanf("%d",&b[i]); double l=0,r=1.0; while(r-l>EPS){//這里EPS=1.0e-3的話就會(huì)是錯(cuò)的,但是1.0e-4就是對(duì)的 double mid = (l+r)/2; if(_can(mid)) l=mid; else r=mid; } printf("%d/n",(int)(l*100+0.5)); } return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 温泉县| 阿拉善盟| 义乌市| 丘北县| 綦江县| 大城县| 汉阴县| 宝山区| 福建省| 津南区| 清徐县| 林芝县| 锡林郭勒盟| 盐边县| 方山县| 崇信县| 娄烦县| 长丰县| 鄢陵县| 墨玉县| 抚顺市| 应用必备| 满洲里市| 黔江区| 桃园市| 白山市| 大石桥市| 陆川县| 松原市| 泰兴市| 蓬溪县| 武汉市| 新和县| 邵阳县| 桂阳县| 屯门区| 烟台市| 仲巴县| 阿拉善盟| 伊宁市| 荃湾区|