原来的空间限制是5MB,其实是很足够的,现在调成128MB,变成了没有思维难度的大水题。
不过,我还是想说一下空间限制为5MB的解题思路。
题目要求的是(每一科的满分之和*3-每一科的实际得分之和*2)÷每科所扣除分数的和
我们可以在输入数据的第二行和第三行求出每一科的满分之和
和每一科的实际得分之和这两个量
然后某科所扣除分数
,是等于某科满分-实际得分
。用交换律可得每科所扣除分数的和=每一科的满分之和-每一科的实际得分之和
于是我们就可以只求出每一科的满分之和
和每一科的实际得分之和
这两个量,来算出综合成绩啦~
#include <bits/stdc++.h>
using namespace std;
int main() {
double b = 0.0, c = 0.0;
int a, n;
// 在代码实现的时候,不需要数组。我们只用每次读入一个数,然后用累加器累加就行啦~省一个巨大的数组呢~
scanf("%d", &n);
for(int i = 1; i <= n; i++) {
scanf("%d", &a);
b += 1.0 * a;
}
for(int i = 1; i <= n; i++) {
scanf("%d", &a);
c += 1.0 * a;
}
printf("%.6lf", (b * 3 - c * 2) / (b - c));
return 0;
}