Submission #67550828


Source Code Expand

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

ll n;

ll mod = 998244353;
ll t = 1000000;

ll safe(ll x, ll y) {
	if (x < t && y < t) return x * y % mod;
	else return (safe(x / t, y / t) * t % mod * t % mod + (safe(x % t, y / t) + safe(x / t, y % t)) * t % mod + safe(x % t, y % t)) % mod;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	cin >> n;

	ll res = 0;
	if ((n - 1) % 2 == 0) {
		res = safe((n - 1) / 2, n - 2);
	}
	else {
		res = safe(n - 1, (n - 2) / 2);
	}

	for (ll i = 2; i < sqrt(n) * 5; i++) {
		if (n / i < i) break;

		ll cnt = max((n / i - i) * 2, 0ll) + (i * i <= n ? 1 : 0);

		res -= cnt;

		res = (res + mod * 1000) % mod;
	}

	cout << res << "\n";

	return 0;
}

Submission Info

Submission Time
Task E - Count A%B=C
User minpro
Language C++ 20 (gcc 12.2)
Score 475
Code Size 766 Byte
Status AC
Exec Time 8 ms
Memory 3588 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 475 / 475
Status
AC × 3
AC × 56
Set Name Test Cases
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt
Case Name Status Exec Time Memory
00-sample-01.txt AC 1 ms 3400 KiB
00-sample-02.txt AC 1 ms 3356 KiB
00-sample-03.txt AC 5 ms 3452 KiB
01-01.txt AC 1 ms 3352 KiB
01-02.txt AC 1 ms 3448 KiB
01-03.txt AC 1 ms 3440 KiB
01-04.txt AC 1 ms 3508 KiB
01-05.txt AC 1 ms 3452 KiB
01-06.txt AC 1 ms 3404 KiB
01-07.txt AC 1 ms 3504 KiB
01-08.txt AC 1 ms 3448 KiB
01-09.txt AC 1 ms 3508 KiB
01-10.txt AC 1 ms 3508 KiB
01-11.txt AC 1 ms 3396 KiB
01-12.txt AC 1 ms 3444 KiB
01-13.txt AC 1 ms 3424 KiB
01-14.txt AC 1 ms 3448 KiB
01-15.txt AC 8 ms 3472 KiB
01-16.txt AC 8 ms 3420 KiB
01-17.txt AC 8 ms 3440 KiB
01-18.txt AC 8 ms 3508 KiB
01-19.txt AC 8 ms 3452 KiB
01-20.txt AC 8 ms 3508 KiB
01-21.txt AC 8 ms 3588 KiB
01-22.txt AC 8 ms 3444 KiB
01-23.txt AC 8 ms 3512 KiB
01-24.txt AC 8 ms 3448 KiB
01-25.txt AC 8 ms 3448 KiB
01-26.txt AC 8 ms 3508 KiB
01-27.txt AC 8 ms 3448 KiB
01-28.txt AC 1 ms 3512 KiB
01-29.txt AC 1 ms 3452 KiB
01-30.txt AC 1 ms 3512 KiB
01-31.txt AC 1 ms 3584 KiB
01-32.txt AC 1 ms 3444 KiB
01-33.txt AC 1 ms 3444 KiB
01-34.txt AC 1 ms 3476 KiB
01-35.txt AC 1 ms 3356 KiB
01-36.txt AC 1 ms 3460 KiB
01-37.txt AC 1 ms 3444 KiB
01-38.txt AC 1 ms 3508 KiB
01-39.txt AC 1 ms 3588 KiB
01-40.txt AC 1 ms 3416 KiB
01-41.txt AC 1 ms 3448 KiB
01-42.txt AC 6 ms 3516 KiB
01-43.txt AC 6 ms 3448 KiB
01-44.txt AC 2 ms 3400 KiB
01-45.txt AC 7 ms 3588 KiB
01-46.txt AC 3 ms 3352 KiB
01-47.txt AC 1 ms 3424 KiB
01-48.txt AC 4 ms 3512 KiB
01-49.txt AC 2 ms 3444 KiB
01-50.txt AC 5 ms 3460 KiB
01-51.txt AC 6 ms 3448 KiB
01-52.txt AC 2 ms 3444 KiB
01-53.txt AC 7 ms 3472 KiB