Description

题目描述

Bob is a freshman in Marjar University. He is clever and diligent. However, he is not good at math, especially in Mathematical Analysis.

After a mid-term exam, Bob was anxious about his grade. He went to the professor asking about the result of the exam. The professor said:

"Too bad! You made me so disappointed."

"Hummm... I am giving lessons to two classes. If you were in the other class, the average scores of both classes will increase."

Now, you are given the scores of all students in the two classes, except for the Bob's. Please calculate the possible range of Bob's score. All scores shall be integers within [0, 100].

Bob是Marjar大学的大一新生,他活泼又聪明。可惜是个数学渣,尤其在数学分析上。

半期考后,Bob对成绩十分焦虑,于是就跑去找教授问自己的分数。教授长叹:

“渣爆了!你真让我失望。”

“恩……我现在教两个班。如果把你放到另一个班,那么两个班各自的平均分都会提高。”

现在,你拿到了除Bob外两个班所以学生的成绩。计算Bob可能获得的分数范围。分数的所有可能性是[0, 100]的整数。

Input

输入

There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:

The first line contains two integers N (2 <= N <= 50) and M (1 <= M <= 50) indicating the number of students in Bob's class and the number of students in the other class respectively.

The next line contains N - 1 integers A1, A2, .., AN-1 representing the scores of other students in Bob's class.

The last line contains M integers B1, B2, .., BM representing the scores of students in the other class.

多组测试样例。

输入的首行是一个整数T表示测试样例的数量。每个测试样例包含:

第一行有两个整数N (2 <= N <= 50) 和M (1 <= M <= 50) 分别表示Bob所在班级的学生数和另一个班级的学生数。

下一个有N – 1个整数A1, A2, .., AN-1,表示Bob所在班级其他同学的成绩。

最后一行有M个整数B1, B2, .., BM,表示另一个班级同学的成绩。

Output

输出

For each test case, output two integers representing the minimal possible score and the maximal possible score of Bob.

It is guaranteed that the solution always exists.

每个测试样例输出两个整数,分别表示Bob可能获得成绩的最小值和最大值。

所有情况都是保证有解的。

Sample Input - 输入样例

Sample Output - 输出样例

2

4 3

5 5 5

4 4 3

6 5

5 5 4 5 3

1 3 2 2 1

4 4

2 4

【题解】

  我们先假设Bob的成绩为x,Bob所在的班级除Bob外成绩的和为Sn,另一个班成绩的和为Sm。

  得到2个不等式:

    (Sn + x)/n < Sn/(n - 1)

    Sm/m < (Sm + x)/(m + 1)

  化简得:

    Sm/m < x < Sn/(n - 1)

  接着需要注意一下进度的问题。

  Sm/m无论是否整除,x的最小值总是要比其大1。

  但是对于Sn/(n - 1)如果发生整除,只能手动把结果减去1了。

【代码 C++】

 #include <cstdio>
int read_g(){
int add = getchar() - '';
int a = getchar();
while (a >= '' && a <= '') add = add * + a - '', a = getchar();
return add;
}
int main(){
int t = read_g(), n, m, i, s;
while (t--){
n = read_g(); m = read_g();
s = ;
for (i = ; i < n; ++i) s += read_g();
if (s % (n - )) n = s / (n - );
else n = s / (n - ) - ;
for (i = s = ; i < m; ++i) s += read_g();
m = s / m + ;
printf("%d %d\n", m, n);
}
}

ZOJ 3819

最新文章

  1. NuGet镜像上线试运行
  2. webpack CommonsChunkPlugin详细教程
  3. socket编程进阶
  4. SqlServer与MySql的一些常用用法的差别
  5. CoreDataManager-OC版-兼容iOS10以前的版本
  6. html5[1]:优化Android Webview性能
  7. IE下Checkbox标签的onchange事件兼容
  8. Windows XP搜索功能 &quot;包含文字&quot; 搜索不到内容的解决办法
  9. 每日一记:搭建Memcached + php 缓存系统
  10. bzoj3438
  11. Windows串口编程
  12. 事件聚合IEventAggregator和 Ihandle&lt;T&gt;
  13. grunt--自常用配置文件--js/样式压缩打包,sass工具整合使用
  14. 2017腾讯校招面试回忆(成功拿到offer)
  15. python 操作excel
  16. STL总结
  17. 深浅copy和字符串细节方法
  18. Android学习之——GridView
  19. iOS 自动编译脚本
  20. YUI前端优化之javascript,css篇

热门文章

  1. Android中常用单位dp,px,sp之间的相互转换
  2. selenium学习记录
  3. 在 mysql 中利用 Duplicate key, 一句话实现存在的更新不存在插入功能
  4. iOS OC与swift相互调用
  5. seo之google rich-snippets丰富网页摘要结构化数据(微数据)实例代码
  6. html5 教程网站
  7. 【Unix环境编程】select、poll、epoll机制的联系与区别
  8. 准确率(Precision)、召回率(Recall)以及F值(F-Measure)
  9. js的选择星级评分插件
  10. java学习容器