QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#397286#691. One RootieeAC ✓791ms3824kbC++14774b2024-04-23 21:25:152024-04-23 21:25:16

Judging History

This is the latest submission verdict.

  • [2024-04-23 21:25:16]
  • Judged
  • Verdict: AC
  • Time: 791ms
  • Memory: 3824kb
  • [2024-04-23 21:25:15]
  • Submitted

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"