第一
2025-02-04 14:10:16
发布于:湖南
24阅读
0回复
0点赞
嘻嘻
#include <iostream>
using namespace std;
int nums[100005], n, m;
double pre[100005];
bool check(double average) {
double minPre = 0;
for (int i = 1; i <= n; i++) {
pre[i] = pre[i - 1] + nums[i - 1] - average;
if (i >= m && pre[i] >= minPre) {
return true;
}
if (i >= m) {
minPre = min(minPre, pre[i - m + 1]);
}
}
return false;
}
int main() {
cin >> n >> m;
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
double l = 0, r = 2000;
for (int i = 0; i < 100; i++) {
double mid = (l + r) / 2;
if (check(mid)) {
l = mid;
} else {
r = mid;
}
}
cout << (int) (l * 1000);
return 0;
}
全部评论 2
代码都我的
2025-06-29 来自 广东
0?
2025-08-04 来自 广东
0看提交记录,第一是我
1周前 来自 浙江
0
我第一
2025-06-29 来自 广东
0
有帮助,赞一个