QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#666551 | #6607. Rise of Shadows | lonelywolf# | WA | 0ms | 3704kb | C++20 | 1.1kb | 2024-10-22 19:00:59 | 2024-10-22 19:01:00 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int H, M, A;
cin >> H >> M >> A;
int ans = 0;
// for (int k = 0; k < H; k++) {
// int l = ceil(1.0 * (k * M - A) / (H - 1));
// int r = floor(1.0 * (k * M + A) / (H - 1));
// l = max(l, 0LL), r = min(r, M - 1);
// // cerr << l << " " << r << "\n";
// ans += r - l + 1;
// }
for (int l = 0, r; l < H; l = r + 1) {
if ((l * M + A) / (H - 1) >= M) {
ans += (H - l) * (M - 1);
break;
}
int d = (H - 1) - (l * M + A) % (H - 1);
int st = d / M - (d % M == 0);
r = min(H - 1, l + st);
ans += (r - l + 1) * ((l * M + A) / (H - 1));
}
for (int l = 0, r; l < H; l = r + 1) {
if (l * M - A <= 0) {
r = A / M;
continue;
}
int d = (H - 1) - (l * M - A) % (H - 1);
int st = d / M;
r = min(H - 1, l + st);
int sub = (r - l + 1) * ((l * M - A + H - 2) / (H - 1));
ans -= sub;
}
ans += H;
cout << ans << "\n";
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3640kb
input:
5 5 4
output:
9
result:
ok 1 number(s): "9"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
3 5 1
output:
3
result:
ok 1 number(s): "3"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3628kb
input:
5 5 0
output:
1
result:
ok 1 number(s): "1"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
5 5 1
output:
3
result:
ok 1 number(s): "3"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3704kb
input:
5 5 2
output:
5
result:
ok 1 number(s): "5"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3556kb
input:
5 5 3
output:
7
result:
ok 1 number(s): "7"
Test #7:
score: -100
Wrong Answer
time: 0ms
memory: 3700kb
input:
5 5 5
output:
10
result:
wrong answer 1st numbers differ - expected: '11', found: '10'