QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#403683 | #6736. Alice and Bob | szy10010 | WA | 1ms | 3580kb | C++17 | 1.1kb | 2024-05-02 17:20:13 | 2024-05-02 17:20:14 |
Judging History
answer
#include <map>
#include <queue>
#include <deque>
#include <cmath>
#include <vector>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
#define fi first
#define se second
#define pb push_back
#define int long long
#define lowbit(x) ((x)&(-x))
#define double long double
#define sf(x) scanf("%lld",&x)
#define sff(x,y) scanf("%lld %lld",&x,&y)
#define all(x) (x).begin(), (x).end()
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
typedef pair<int,int>PII;
const int N=1e7+100,INF=4e18,P=998244353;
int n,m;
int q[N],ni[N];
int qmi(int a,int b,int P)
{
int res=1;
while(b)
{
if(b&1)res=res*a%P;
a=a*a%P;
b>>=1;
}
return res;
}
void init(int n)
{
int now=1;
for(int i=1;i<=n;i++)
{
now*=i;
now%=P;
q[i]=now;
ni[i]=qmi(q[i],P-2,P);
}
return;
}
void solve()
{
int n;
cin>>n;
init(n);
int res=0;
q[0]=1;
if(n==1){cout<<1;return;}
for(int i=1;i<=n;i++)
{
res+=(q[n-i]*q[n-i]%P*ni[n-2*i+1])%P;
res%=P;
}
cout<<res;
}
signed main()
{
IOS;
int T=1;
//cin>>T;
while(T--)
solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3580kb
input:
1
output:
1
result:
ok 1 number(s): "1"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3480kb
input:
2
output:
1
result:
ok 1 number(s): "1"
Test #3:
score: -100
Wrong Answer
time: 0ms
memory: 3524kb
input:
10
output:
58975335
result:
wrong answer 1st numbers differ - expected: '997920', found: '58975335'