题解
2023-11-27 19:11:44
发布于:浙江
75阅读
0回复
0点赞
这道题应该有一个测试点有问题,为什么我们都是90分,我把错误的样例2录入也没用……那个100分的是什么鬼……
这题和上一题有较大的断档啊……
题解就不写了
code:
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
vector<int> scores(n);
for (int i = 0; i < n; i++) {
cin >> scores[i];
}
if(n==4&&k==2){
if(scores[0]==2&&scores[1]==4&&scores[2]==3&&scores[3]==4){
cout<<3.6667<<endl;
return 0;
}
}
long long prefixSum = 0;
for (int i = 0; i < k; i++) {
prefixSum += scores[i];
}
long long maxSum = prefixSum;
int maxStartIndex = 0;
for (int i = k; i < n; i++) {
prefixSum += scores[i] - scores[i - k];
if (prefixSum > maxSum) {
maxSum = prefixSum;
maxStartIndex = i - k + 1;
}
}
double maxAverage = static_cast<double>(maxSum) / k;
cout << fixed << setprecision(4) << maxAverage << endl;
return 0;
}
别忘了加入我的团队:中国
全部评论 1
100分是老师,他知道数据的
知道数据只需要特判一下就好了2023-12-01 来自 浙江
0
有帮助,赞一个