ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#193805 | #3399. average | CodingShark | 100 | 71ms | 2792kb | C++11 | 700b | 2023-10-14 14:49:54 | 2023-10-14 18:37:45 |
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
const ll N = 1e5 + 5;
ll n, k, ans, a[N];
db b[N];
bool check(double avg) {
for (int i = 1; i <= n; i++) b[i] = b[i - 1] + a[i] - avg;
db mi = 0;
for (int i = k; i <= n; i++) {
mi = min(mi, b[i - k]);
if (i >= k && b[i] >= mi) return 1;
} return 0;
}
int main() {
scanf("%lld%lld", &n, &k);
for (int i = 1; i <= n; i++) scanf("%lld", a + i);
double l = 1, r = 1e9;
for (int i = 0; i < 50; i++) {
double mid = (l + r) / 2.0;
if (check(mid)) l = mid;
else r = mid;
}
printf("%.0lf", floor(l));
return 0;
}
Details
小提示:点击横条可展开更详细的信息
Test #1:
score: 20
Accepted
time: 0ms
memory: 1248kb
input:
1000 100 332109541 265698305 339007233 386487277 65597920 217218907 436378017 221884663 270433433 26...
output:
334924174
result:
ok single line: '334924174'
Test #2:
score: 20
Accepted
time: 0ms
memory: 1248kb
input:
1000 100 108652253 396843081 18739163 168730297 41598432 22132831 155692945 617160601 164753707 8614...
output:
323746083
result:
ok single line: '323746083'
Test #3:
score: 20
Accepted
time: 0ms
memory: 1252kb
input:
1000 100 71158753 11073019 119630785 162780801 25368543 517705 123835636 254874371 4127795 157084999...
output:
338258685
result:
ok single line: '338258685'
Test #4:
score: 20
Accepted
time: 32ms
memory: 2792kb
input:
100000 10 227552529 170886571 513851125 46675201 188079376 255537313 266819605 69661658 214521435 33...
output:
642253260
result:
ok single line: '642253260'
Test #5:
score: 20
Accepted
time: 39ms
memory: 2788kb
input:
100000 100 227552529 170886571 513851125 46675201 188079376 255537313 266819605 69661658 214521435 3...
output:
353627389
result:
ok single line: '353627389'