QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#364582#6736. Alice and BobAtmizz#WA 1ms5828kbC++20924b2024-03-24 15:25:222024-03-24 15:25:23

Judging History

This is the latest submission verdict.

  • [2024-03-24 15:25:23]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 5828kb
  • [2024-03-24 15:25:22]
  • Submitted

answer

#include <bits/stdc++.h>

using namespace std;
const int mod = 998244353;
typedef long long LL;
#define int long long
const int N = 1e7 + 20;
const int M = 1e7;

LL fac[N], inFac[N];

LL qmi(LL a, LL b) {
	LL sum = 1;
	while(b) {
		if(b & 1LL) {
			sum = sum * a % mod;
		}
		b >>= 1LL; a = a * a % mod;
	}
	return sum % mod;
}

LL C(LL n, LL m) {
	return fac[n] * inFac[m] % mod * inFac[n-m] % mod;
}

signed main()
{
    int n;
    cin >> n;
    fac[0] = 1;
    for(int i = 1; i <= n; ++ i) {
    	fac[i] = fac[i-1] * i % mod;
    }
    inFac[n] = qmi(fac[n], mod - 2);
    for(int i = n - 1; i >= 0; -- i) {
    	inFac[i] = inFac[i+1] * (i + 1) % mod;
    }
    vector<LL> s(n+10);
    s[0]=1;
    for(int i=1;i<=n;i++) s[i]=s[i-1]*i%mod;
    int sum=0;
    for(int x=1;x<=n;x++){
        sum=(sum+C(n-x,x-1)*s[n-x]%mod*s[x-1]%mod)%mod;
    }
    cout<<(sum+mod)%mod<<endl;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 5828kb

input:

1

output:

1

result:

ok 1 number(s): "1"

Test #2:

score: 0
Accepted
time: 0ms
memory: 5548kb

input:

2

output:

1

result:

ok 1 number(s): "1"

Test #3:

score: -100
Wrong Answer
time: 1ms
memory: 5584kb

input:

10

output:

796610220

result:

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