QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#293464#5. 在线 O(1) 逆元iee100 ✓5244ms394464kbC++14358b2023-12-29 10:35:382024-11-05 21:57:11

Judging History

This is the latest submission verdict.

  • [2024-11-05 21:57:11]
  • 管理员手动重测本题所有提交记录
  • Verdict: 100
  • Time: 5244ms
  • Memory: 394464kb
  • [2023-12-29 10:35:38]
  • Judged
  • Verdict: 70
  • Time: 1348ms
  • Memory: 394432kb
  • [2023-12-29 10:35:38]
  • Submitted

answer

#include "inv.h"

const int N = 1e8;
int mod;
int inv_list[N + 7];

void init(int p){
	mod = p;
	inv_list[0] = inv_list[1] = 1;
	for (register int i = 2; i <= N; i++){
		inv_list[i] = mod - 1ll * (mod / i) * inv_list[mod % i] % mod;
	}
}

int inv(int x){
	if (x <= N) return inv_list[x];
	return mod - 1ll * (mod / x) * inv(mod % x) % mod;
}

詳細信息


Pretests


Final Tests

Test #1:

score: 10
Accepted
time: 691ms
memory: 394324kb

Test #2:

score: 20
Accepted
time: 1143ms
memory: 394332kb

Test #3:

score: 30
Accepted
time: 3011ms
memory: 394384kb

Test #4:

score: 20
Accepted
time: 4345ms
memory: 394464kb

Test #5:

score: 20
Accepted
time: 5244ms
memory: 394364kb