QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#397286 | #691. One Root | iee | AC ✓ | 791ms | 3824kb | C++14 | 774b | 2024-04-23 21:25:15 | 2024-04-23 21:25:16 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
constexpr ld eps = 1e-12;
int main() {
int n, m;
cin >> n >> m, n--;
ll res = 0;
for (int p = -m; p <= m; p++) {
ld v = (ld) p / (n + 1);
if (n % 2 == 0) {
if (p <= 0) res += m * 2 + 1;
else {
ld x = exp(log(v) / n);
ld l = pow(v, ld(n + 1) / n) - p * x, r = -l;
l = ceil(l - eps), r = floor(r + eps);
l = max<ld>(l, -m), r = min<ld>(r, m);
res += (ll) round(l + m) + (ll) round(m - r);
}
} else {
ld x = (v >= 0 ? exp(log(v) / n) : -exp(log(-v) / n));
ld t = pow(x, n + 1) - p * x;
if (fabs(t - round(t)) < eps && (ll) round(t) >= -m && (ll) round(t) <= m) res++;
}
}
cout << res << "\n";
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3728kb
input:
2 4
output:
5
result:
ok 1 number(s): "5"
Test #2:
score: 0
Accepted
time: 1ms
memory: 3700kb
input:
3 5
output:
96
result:
ok 1 number(s): "96"
Test #3:
score: 0
Accepted
time: 242ms
memory: 3700kb
input:
2 1000000
output:
2001
result:
ok 1 number(s): "2001"
Test #4:
score: 0
Accepted
time: 369ms
memory: 3824kb
input:
3 1000000
output:
2022680596351
result:
ok 1 number(s): "2022680596351"
Test #5:
score: 0
Accepted
time: 399ms
memory: 3664kb
input:
1245 1000000
output:
2995843859203
result:
ok 1 number(s): "2995843859203"
Test #6:
score: 0
Accepted
time: 1ms
memory: 3700kb
input:
4 1371
output:
9
result:
ok 1 number(s): "9"
Test #7:
score: 0
Accepted
time: 1ms
memory: 3700kb
input:
4 1372
output:
9
result:
ok 1 number(s): "9"
Test #8:
score: 0
Accepted
time: 406ms
memory: 3700kb
input:
999999 1000000
output:
3000004000001
result:
ok 1 number(s): "3000004000001"
Test #9:
score: 0
Accepted
time: 410ms
memory: 3700kb
input:
748715 998591
output:
2991555950208
result:
ok 1 number(s): "2991555950208"
Test #10:
score: 0
Accepted
time: 410ms
memory: 3784kb
input:
771813 998195
output:
2989183766856
result:
ok 1 number(s): "2989183766856"
Test #11:
score: 0
Accepted
time: 375ms
memory: 3708kb
input:
5 1000000
output:
2115634492913
result:
ok 1 number(s): "2115634492913"
Test #12:
score: 0
Accepted
time: 376ms
memory: 3724kb
input:
7 1000000
output:
2225505601227
result:
ok 1 number(s): "2225505601227"
Test #13:
score: 0
Accepted
time: 373ms
memory: 3776kb
input:
9 1000000
output:
2323337344497
result:
ok 1 number(s): "2323337344497"
Test #14:
score: 0
Accepted
time: 381ms
memory: 3780kb
input:
11 1000000
output:
2404625433573
result:
ok 1 number(s): "2404625433573"
Test #15:
score: 0
Accepted
time: 377ms
memory: 3644kb
input:
13 1000000
output:
2471273680065
result:
ok 1 number(s): "2471273680065"
Test #16:
score: 0
Accepted
time: 371ms
memory: 3780kb
input:
15 1000000
output:
2526134869197
result:
ok 1 number(s): "2526134869197"
Test #17:
score: 0
Accepted
time: 397ms
memory: 3640kb
input:
111 998119
output:
2922736426434
result:
ok 1 number(s): "2922736426434"
Test #18:
score: 0
Accepted
time: 791ms
memory: 3696kb
input:
128 991991
output:
3
result:
ok 1 number(s): "3"
Test #19:
score: 0
Accepted
time: 364ms
memory: 3564kb
input:
4718 471875
output:
3
result:
ok 1 number(s): "3"
Test #20:
score: 0
Accepted
time: 224ms
memory: 3632kb
input:
8859 561741
output:
946566163040
result:
ok 1 number(s): "946566163040"
Test #21:
score: 0
Accepted
time: 352ms
memory: 3636kb
input:
51715 891958
output:
2386749106469
result:
ok 1 number(s): "2386749106469"
Test #22:
score: 0
Accepted
time: 398ms
memory: 3772kb
input:
1291 1000000
output:
2996019756499
result:
ok 1 number(s): "2996019756499"
Test #23:
score: 0
Accepted
time: 400ms
memory: 3728kb
input:
9295 1000000
output:
2999661108753
result:
ok 1 number(s): "2999661108753"
Test #24:
score: 0
Accepted
time: 399ms
memory: 3784kb
input:
27051 1000000
output:
2999924968965
result:
ok 1 number(s): "2999924968965"
Test #25:
score: 0
Accepted
time: 394ms
memory: 3728kb
input:
31157 1000000
output:
2999939778895
result:
ok 1 number(s): "2999939778895"
Test #26:
score: 0
Accepted
time: 401ms
memory: 3636kb
input:
51011 1000000
output:
2999974012151
result:
ok 1 number(s): "2999974012151"
Test #27:
score: 0
Accepted
time: 406ms
memory: 3728kb
input:
63243 1000000
output:
2999982993291
result:
ok 1 number(s): "2999982993291"
Test #28:
score: 0
Accepted
time: 400ms
memory: 3636kb
input:
64009 1000000
output:
2999983417131
result:
ok 1 number(s): "2999983417131"
Test #29:
score: 0
Accepted
time: 401ms
memory: 3684kb
input:
140185 1000000
output:
2999999528825
result:
ok 1 number(s): "2999999528825"
Test #30:
score: 0
Accepted
time: 397ms
memory: 3636kb
input:
213297 1000000
output:
3000002534063
result:
ok 1 number(s): "3000002534063"
Test #31:
score: 0
Accepted
time: 401ms
memory: 3756kb
input:
221025 1000000
output:
3000002698335
result:
ok 1 number(s): "3000002698335"
Test #32:
score: 0
Accepted
time: 403ms
memory: 3716kb
input:
277109 1000000
output:
3000003496779
result:
ok 1 number(s): "3000003496779"
Test #33:
score: 0
Accepted
time: 404ms
memory: 3692kb
input:
294197 1000000
output:
3000003599417
result:
ok 1 number(s): "3000003599417"
Test #34:
score: 0
Accepted
time: 405ms
memory: 3704kb
input:
313287 1000000
output:
3000003703203
result:
ok 1 number(s): "3000003703203"
Test #35:
score: 0
Accepted
time: 405ms
memory: 3616kb
input:
330375 1000000
output:
3000003796101
result:
ok 1 number(s): "3000003796101"
Test #36:
score: 0
Accepted
time: 400ms
memory: 3720kb
input:
358009 1000000
output:
3000003946335
result:
ok 1 number(s): "3000003946335"
Test #37:
score: 0
Accepted
time: 0ms
memory: 3696kb
input:
15 1
output:
8
result:
ok 1 number(s): "8"