题目大意:给定两个集合A,B,现在将A中一个元素x移动到B中,导致两个集合中的元素平均值均变大,求x的取值范围。
解题思路:列两个不等式求解,注意平均值必须增大。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int N, M, A, B;
int main () {
int cas;
scanf("%d", &cas);
while (cas--) {
int x;
scanf("%d%d", &N, &M);
A = B = 0;
for (int i = 1; i < N; i++) {
scanf("%d", &x);
A += x;
}
for (int i = 0; i < M; i++) {
scanf("%d", &x);
B += x;
}
int l = B / M + 1;
int r = A / (N-1) + (A % (N-1) ? 0 : -1);
printf("%d %d\n", l, r);
}
return 0;
}