QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#397279#691. One RootieeWA 374ms3692kbC++14755b2024-04-23 21:14:182024-04-23 21:14:19

Judging History

This is the latest submission verdict.

  • [2024-04-23 21:14:19]
  • Judged
  • Verdict: WA
  • Time: 374ms
  • Memory: 3692kb
  • [2024-04-23 21:14:18]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
constexpr ld eps = 1e-8;
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), r = floor(r);
				l = max<ld>(l, -m), r = min<ld>(r, m);
				res += (int) round(l + m) + (int) round(m - r);
			}
		} else {
			ld x = (v >= 0 ? exp(log(v) / n) : -exp(log(-v) / n));
			ld t = pow(x, n + 1);
			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: 1ms
memory: 3688kb

input:

2 4

output:

5

result:

ok 1 number(s): "5"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3692kb

input:

3 5

output:

96

result:

ok 1 number(s): "96"

Test #3:

score: 0
Accepted
time: 228ms
memory: 3636kb

input:

2 1000000

output:

2001

result:

ok 1 number(s): "2001"

Test #4:

score: -100
Wrong Answer
time: 374ms
memory: 3656kb

input:

3 1000000

output:

2022680596373

result:

wrong answer 1st numbers differ - expected: '2022680596351', found: '2022680596373'