QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#208970#5. 在线 O(1) 逆元Williamxzh60 5385ms3808kbC++14418b2023-10-09 22:42:042024-11-05 21:53:00

Judging History

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

  • [2024-11-05 21:53:00]
  • 管理员手动重测本题所有提交记录
  • 测评结果:60
  • 用时:5385ms
  • 内存:3808kb
  • [2023-10-09 22:42:06]
  • 评测
  • 测评结果:70
  • 用时:1114ms
  • 内存:3816kb
  • [2023-10-09 22:42:04]
  • 提交

answer

#include "inv.h"
#include <bits/stdc++.h>
using namespace std;
const int mod=998244353;
const __uint128_t brt=((__uint128_t)1<<64)/mod;
void init(int p){

}
int inv(int x){
    int b=mod-2;long long ans=1ll,a=1ll*x;
    while(b){
        if(b&1){ans*=a,ans-=mod*(brt*ans>>64);while(ans>=mod) ans-=mod;}
        a*=a,a-=mod*(brt*a>>64);while(a>=mod) a-=mod;
        b>>=1;
    }
    return int(ans);
}

詳細信息


Pretests


Final Tests

Test #1:

score: 10
Accepted
time: 11ms
memory: 3692kb

Test #2:

score: 20
Accepted
time: 1079ms
memory: 3808kb

Test #3:

score: 30
Accepted
time: 5385ms
memory: 3740kb

Test #4:

score: 0
Time Limit Exceeded

Test #5:

score: 0
Time Limit Exceeded