Baby-step Giant-step

Xem dưới dạng PDF

Gửi bài giải


Điểm: 20
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

An đang học mật mã hóa. Cô ấy có phương trình \(a^x \equiv b \pmod{p}\) với \(p\) là số nguyên tố. An muốn tìm số mũ \(x\) nhỏ nhất để thỏa mãn phương trình này. Nếu không có nghiệm, in ra \(-1\).

Định dạng đầu vào

  • Một dòng chứa ba số nguyên \(a, b, p\) (\(2 \le p \le 10^9\), \(p\) nguyên tố, \(0 \le a, b < p\)).

Định dạng đầu ra

  • Một số nguyên là \(x\) nhỏ nhất thỏa mãn, hoặc \(-1\) nếu không có.

Ví dụ

Input:

2 3 7

Output:

5

Giải thích: \(2^5 = 32 \equiv 3 \pmod{7}\).

Ràng buộc

  • 50% số điểm: \(p \le 10^6\).
  • 50% số điểm còn lại: \(p \le 10^9\).

Nhận xét

Không có ý kiến tại thời điểm này.