Submission #67536441


Source Code Expand

#include <stdio.h>

const int Mod = 998244353, half = 499122177;

int main()
{
	long long N;
	scanf("%lld", &N);
	
	long long b, l, r, m, ans = (N - 2) % Mod * ((N - 1) % Mod) % Mod * half % Mod;
	for (b = 2; b * b <= N; b++) ans += Mod - (N / b - 1);
	for (ans %= Mod; b <= N; b = r + 1) {
		l = b;
		r = N;
		while (l < r) {
			m = (l + r + 1) / 2;
			if (N / b == N / m) l = m;
			else r = m - 1;
		}
		ans += Mod - (N / b - 1) * (l - b + 1) % Mod;
	}
	printf("%lld\n", ans % Mod);
	fflush(stdout);
	return 0;
}

Submission Info

Submission Time
Task E - Count A%B=C
User ygussany
Language C (gcc 12.2.0)
Score 475
Code Size 538 Byte
Status AC
Exec Time 123 ms
Memory 1724 KiB

Compile Error

Main.c: In function ‘main’:
Main.c:8:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    8 |         scanf("%lld", &N);
      |         ^~~~~~~~~~~~~~~~~

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 1712 KiB
00-sample-02.txt AC 1 ms 1552 KiB
00-sample-03.txt AC 77 ms 1692 KiB
01-01.txt AC 0 ms 1636 KiB
01-02.txt AC 0 ms 1708 KiB
01-03.txt AC 0 ms 1700 KiB
01-04.txt AC 0 ms 1608 KiB
01-05.txt AC 0 ms 1628 KiB
01-06.txt AC 0 ms 1624 KiB
01-07.txt AC 0 ms 1624 KiB
01-08.txt AC 1 ms 1624 KiB
01-09.txt AC 0 ms 1716 KiB
01-10.txt AC 0 ms 1720 KiB
01-11.txt AC 0 ms 1724 KiB
01-12.txt AC 0 ms 1612 KiB
01-13.txt AC 0 ms 1616 KiB
01-14.txt AC 0 ms 1708 KiB
01-15.txt AC 123 ms 1560 KiB
01-16.txt AC 123 ms 1720 KiB
01-17.txt AC 123 ms 1616 KiB
01-18.txt AC 123 ms 1700 KiB
01-19.txt AC 123 ms 1612 KiB
01-20.txt AC 119 ms 1616 KiB
01-21.txt AC 121 ms 1712 KiB
01-22.txt AC 118 ms 1548 KiB
01-23.txt AC 118 ms 1696 KiB
01-24.txt AC 121 ms 1604 KiB
01-25.txt AC 123 ms 1628 KiB
01-26.txt AC 120 ms 1636 KiB
01-27.txt AC 119 ms 1636 KiB
01-28.txt AC 0 ms 1624 KiB
01-29.txt AC 0 ms 1576 KiB
01-30.txt AC 0 ms 1724 KiB
01-31.txt AC 0 ms 1724 KiB
01-32.txt AC 0 ms 1612 KiB
01-33.txt AC 1 ms 1580 KiB
01-34.txt AC 1 ms 1620 KiB
01-35.txt AC 2 ms 1584 KiB
01-36.txt AC 2 ms 1548 KiB
01-37.txt AC 2 ms 1612 KiB
01-38.txt AC 5 ms 1684 KiB
01-39.txt AC 5 ms 1628 KiB
01-40.txt AC 7 ms 1616 KiB
01-41.txt AC 8 ms 1628 KiB
01-42.txt AC 82 ms 1552 KiB
01-43.txt AC 93 ms 1628 KiB
01-44.txt AC 22 ms 1724 KiB
01-45.txt AC 115 ms 1612 KiB
01-46.txt AC 39 ms 1548 KiB
01-47.txt AC 1 ms 1548 KiB
01-48.txt AC 51 ms 1604 KiB
01-49.txt AC 17 ms 1604 KiB
01-50.txt AC 72 ms 1612 KiB
01-51.txt AC 83 ms 1576 KiB
01-52.txt AC 13 ms 1716 KiB
01-53.txt AC 102 ms 1620 KiB