Modulo nhỏ nhất

Đề bài

Mô tả

Cho n số nguyên phân biệt a1,a2,,an. Bạn được phép xóa nhiều nhất k số trong dãy. Hãy tìm số nguyên dương m nhỏ nhất sao cho với mọi cặp số ai,aj còn lại (sau khi xóa) thì:

aiaj(modm)

Nói cách khác, các số còn lại đều có số dư khác nhau khi chia cho m.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk.
  • Dòng thứ hai chứa n số nguyên phân biệt a1,a2,,an.

Dữ liệu ra

In ra một số nguyên dương duy nhất là m nhỏ nhất thỏa mãn.

Ràng buộc

  • 1n5000
  • 0k4
  • 0ai106
  • Các ai đôi một phân biệt.

Ví dụ

Input Output Giải thích
7 0
0 2 3 6 7 12 18
13 Không được xóa số nào. Với m=13, các số dư là 0,2,3,6,7,12,5 — đôi một khác nhau. Mọi m<13 đều có ít nhất hai số trùng số dư.
7 1
0 2 3 6 7 12 18
7 Cho phép xóa 1 số. Với m=7, số dư của 07 đều là 0; xóa một trong hai số đó thì các số còn lại có số dư phân biệt.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0