UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#213814#2157. 数列ThySecret100457ms1160kbC++111.4kb2024-11-13 20:22:322024-11-13 23:05:50

answer

#include <bits/stdc++.h>

using namespace std;

#define int long long
// #define x first
// #define y second
#define File(a) freopen(a".in", "r", stdin), freopen(a".out", "w", stdout)

inline void debug() { cerr << '\n'; }
template<typename Type, typename... Other>
inline void debug(const Type& x, const Other&... y) { cerr << x << ' '; debug(y...); }
#define DEBUG(a...) cerr << "[" << #a << "] = ", debug(a);

typedef long long LL;
typedef pair<int, int> PII;

const int N = 200010;
const int INF = 0x3f3f3f3f;

template<typename Type>
inline void read(Type &res)
{
    res = 0;
    int ch = getchar(), flag = 0;
    while (!isdigit(ch)) flag |= ch == '-', ch = getchar();
    while (isdigit(ch)) res = (res << 3) + (res << 1) + (ch ^ 48), ch = getchar();
    res = flag ? -res : res;
}
template<typename Type, typename... Other>
inline void read(Type &res, Other&... y) { read(res), read(y...); }

int n, mod, base1, base2;
// ans = C(2n, 2) / (n + 1)

inline int ksm(int a, int b, int mod)
{
    int res = 1;
    while (b)
    {
        if (b & 1) res = res * a % mod;
        a = a * a % mod, b >>= 1;
    }
    return res;
}

signed main()
{
    read(n, mod);
    for (int i = base1 = 1; i <= n; i ++) base1 = base1 * i % mod;
    for (int i = base2 = 1; i <= n << 1; i ++) base2 = base2 * i % mod;
    cout << base2 * ksm(base1 * base1 % mod, mod - 2, mod) % mod * ksm(n + 1, mod - 2, mod) % mod << '\n';
    return 0;
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 5
Accepted
time: 0ms
memory: 1160kb

input:

921 998054347

output:

345389219

result:

ok single line: '345389219'

Test #2:

score: 5
Accepted
time: 1ms
memory: 1156kb

input:

926 998064329

output:

458756691

result:

ok single line: '458756691'

Test #3:

score: 5
Accepted
time: 1ms
memory: 1156kb

input:

1000 998074327

output:

457273797

result:

ok single line: '457273797'

Test #4:

score: 5
Accepted
time: 0ms
memory: 1156kb

input:

952 998084303

output:

329700115

result:

ok single line: '329700115'

Test #5:

score: 5
Accepted
time: 0ms
memory: 1160kb

input:

989 998094347

output:

94788253

result:

ok single line: '94788253'

Test #6:

score: 5
Accepted
time: 0ms
memory: 1156kb

input:

902 998104313

output:

911969455

result:

ok single line: '911969455'

Test #7:

score: 5
Accepted
time: 1ms
memory: 1156kb

input:

914 998114333

output:

827812986

result:

ok single line: '827812986'

Test #8:

score: 5
Accepted
time: 0ms
memory: 1160kb

input:

986 998124313

output:

169699253

result:

ok single line: '169699253'

Test #9:

score: 5
Accepted
time: 0ms
memory: 1156kb

input:

947 998134339

output:

761932751

result:

ok single line: '761932751'

Test #10:

score: 5
Accepted
time: 0ms
memory: 1156kb

input:

934 998144339

output:

42889072

result:

ok single line: '42889072'

Test #11:

score: 5
Accepted
time: 45ms
memory: 1160kb

input:

991572 998154343

output:

277089318

result:

ok single line: '277089318'

Test #12:

score: 5
Accepted
time: 42ms
memory: 1160kb

input:

932800 998164337

output:

945072504

result:

ok single line: '945072504'

Test #13:

score: 5
Accepted
time: 45ms
memory: 1160kb

input:

903603 998174341

output:

29916736

result:

ok single line: '29916736'

Test #14:

score: 5
Accepted
time: 47ms
memory: 1160kb

input:

958646 998184331

output:

802903490

result:

ok single line: '802903490'

Test #15:

score: 5
Accepted
time: 48ms
memory: 1156kb

input:

983016 998194349

output:

802900579

result:

ok single line: '802900579'

Test #16:

score: 5
Accepted
time: 45ms
memory: 1160kb

input:

922347 998204353

output:

228575331

result:

ok single line: '228575331'

Test #17:

score: 5
Accepted
time: 48ms
memory: 1156kb

input:

976053 998214317

output:

982618317

result:

ok single line: '982618317'

Test #18:

score: 5
Accepted
time: 47ms
memory: 1160kb

input:

957300 998224351

output:

514549818

result:

ok single line: '514549818'

Test #19:

score: 5
Accepted
time: 46ms
memory: 1156kb

input:

921760 998234353

output:

470386410

result:

ok single line: '470386410'

Test #20:

score: 5
Accepted
time: 41ms
memory: 1160kb

input:

912948 998244353

output:

129235345

result:

ok single line: '129235345'