QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#413420#6736. Alice and BobSSHL#WA 70ms159876kbC++141.1kb2024-05-17 15:12:422024-05-17 15:12:42

Judging History

你现在查看的是最新测评结果

  • [2024-05-17 15:12:42]
  • 评测
  • 测评结果:WA
  • 用时:70ms
  • 内存:159876kb
  • [2024-05-17 15:12:42]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
constexpr int N=1e5+1;
constexpr ll mod=998244353;
constexpr int maxn=1e7;
ll fac[maxn],inv[maxn];
ll pow(ll a,ll b)
{
    ll res=1;
    a%=mod;
    while(b)
    {
        if(b&1)
        res=res*a%mod;
        a=a*a%mod;
        b>>=1;
    }
    return res;
}
void pre()
{
    fac[0]=1;
    for(int i=1;i<maxn;i++)
    {
        fac[i]=fac[i-1]*i%mod;

    }
    inv[maxn-1]=pow(fac[maxn-1],mod-2);
    for(int i=maxn-2;i>=0;i--)
    {
        inv[i]=inv[i+1]*(i+1)%mod;
    }
}
ll c(ll a,ll b)
{
    if(b>a||b<0)
    return 0;
    return fac[a]*inv[b]%mod*inv[a-b]%mod;
}
void solve()
{
    pre();
    ll n;
    cin>>n;
    ll ans=0;
    for(int i=1;i<=n/2;i++)
    {
        ans+=((c(n-i,i-1)*fac[n-i])%mod*fac[i-1])%mod;
        ans%=mod;
        // cout<<c(n-i,i-1)<<' '<<fac[n-i]<<'\n';
    }
    cout<<ans;
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t = 1;
    // cin >> t;
    while (t--)
        solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 70ms
memory: 159876kb

input:

1

output:

0

result:

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