提出 #27243869
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10, P = 998244353;
int p[N], fac[N], pcnt;
long long cnt[N], haji;
long long fuck[N];
long long n, k, g, q, ans;
int main () {
/* */
// freopen ("g.in", "r", stdin);
// freopen ("g.out", "w", stdout);
scanf ("%lld%lld", &n, &k);
if (k > n - k) k = n - k;
g = max ((long long)sqrt (n), k);
// 计算n! / (n - k)!相关的质因子。
for (long long i = n - k + 1; i <= n; ++i)
fuck[i - (n - k)] = i;
for (int i = 2; i <= g; ++i) {
if (!fac[i]) {
fac[i] = p[++pcnt] = i;
q = i;
while (q <= n) {
cnt[pcnt] += n / q - (n - k) / q - k / q;
q = q * i;
}
haji = (n - k + 1) % i ? i - ((n - k + 1) % i) + n - k + 1 : n - k + 1;
for (; haji <= n; haji += i)
while (fuck[haji - (n - k)] % i == 0)
fuck[haji - (n - k)] /= i;
}
for (int j = 1; j <= pcnt; ++j) {
if (i * p[j] > g || fac[i] < p[j]) break;
fac[i * p[j]] = p[j];
}
}
for (long long i = n - k + 1; i <= n; ++i)
if (fuck[i - (n - k)] != 1) cnt[++pcnt] = 1, p[pcnt] = fuck[i - (n - k)];
ans = cnt[1] + 1;
for (int i = 2; i <= pcnt; ++i)
ans = 1ll * ans * (cnt[i] + 1) % P;
printf ("%d\n", ans);
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | G - Divisors of Binomial Coefficient |
| ユーザ | NGC5457 |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 600 |
| コード長 | 1243 Byte |
| 結果 | AC |
| 実行時間 | 142 ms |
| メモリ | 24672 KiB |
コンパイルエラー
./Main.cpp: In function ‘int main()’:
./Main.cpp:43:12: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long long int’ [-Wformat=]
43 | printf ("%d\n", ans);
| ~^ ~~~
| | |
| int long long int
| %lld
./Main.cpp:14:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
14 | scanf ("%lld%lld", &n, &k);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 600 / 600 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt, random_27.txt, random_28.txt, random_29.txt, random_30.txt, random_31.txt, random_32.txt, random_33.txt, random_34.txt, random_35.txt, random_36.txt, random_37.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| random_01.txt | AC | 10 ms | 3732 KiB |
| random_02.txt | AC | 14 ms | 6064 KiB |
| random_03.txt | AC | 2 ms | 3740 KiB |
| random_04.txt | AC | 36 ms | 10172 KiB |
| random_05.txt | AC | 2 ms | 3680 KiB |
| random_06.txt | AC | 73 ms | 15024 KiB |
| random_07.txt | AC | 2 ms | 3684 KiB |
| random_08.txt | AC | 70 ms | 14352 KiB |
| random_09.txt | AC | 3 ms | 3552 KiB |
| random_10.txt | AC | 49 ms | 11104 KiB |
| random_11.txt | AC | 142 ms | 24656 KiB |
| random_12.txt | AC | 21 ms | 5032 KiB |
| random_13.txt | AC | 3 ms | 3556 KiB |
| random_14.txt | AC | 116 ms | 21584 KiB |
| random_15.txt | AC | 2 ms | 3616 KiB |
| random_16.txt | AC | 21 ms | 5500 KiB |
| random_17.txt | AC | 77 ms | 15228 KiB |
| random_18.txt | AC | 49 ms | 8224 KiB |
| random_19.txt | AC | 115 ms | 20224 KiB |
| random_20.txt | AC | 23 ms | 5580 KiB |
| random_21.txt | AC | 135 ms | 24372 KiB |
| random_22.txt | AC | 52 ms | 9240 KiB |
| random_23.txt | AC | 122 ms | 22408 KiB |
| random_24.txt | AC | 2 ms | 3764 KiB |
| random_25.txt | AC | 16 ms | 4752 KiB |
| random_26.txt | AC | 36 ms | 6584 KiB |
| random_27.txt | AC | 15 ms | 4884 KiB |
| random_28.txt | AC | 2 ms | 3780 KiB |
| random_29.txt | AC | 2 ms | 3728 KiB |
| random_30.txt | AC | 19 ms | 8544 KiB |
| random_31.txt | AC | 135 ms | 24672 KiB |
| random_32.txt | AC | 68 ms | 15228 KiB |
| random_33.txt | AC | 23 ms | 8444 KiB |
| random_34.txt | AC | 139 ms | 24668 KiB |
| random_35.txt | AC | 60 ms | 13752 KiB |
| random_36.txt | AC | 2 ms | 3720 KiB |
| random_37.txt | AC | 2 ms | 3624 KiB |
| sample_01.txt | AC | 2 ms | 3660 KiB |
| sample_02.txt | AC | 2 ms | 3636 KiB |
| sample_03.txt | AC | 137 ms | 24604 KiB |