Ước chung theo hàng

Đề bài

Mô tả

Cho hai dãy số nguyên dương a1,a2,…,an và b1,b2,…,bm.

Với mỗi j=1,2,…,m, hãy tìm ước chung lớn nhất của các số a1+bj,a2+bj,…,an+bj, tức là:

gcd(a1+bj, a2+bj, …, an+bj).

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và m.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.
  • Dòng thứ ba chứa m số nguyên b1,b2,…,bm.

Dữ liệu ra

  • In ra m số nguyên, số thứ j là gcd(a1+bj,…,an+bj).

Ràng buộc

  • 1≤n,m≤2·105
  • 1≤ai≤1018
  • 1≤bj≤1018

Ví dụ

Input Output Giải thích
4 4
1 25 121 169
1 2 7 23
2 3 8 24 Với b1=1: gcd(2,26,122,170)=2. Với b4=23: gcd(24,48,144,192)=24.
1 1
45
54
99 Chỉ có một phần tử nên đáp án là a1+b1=45+54=99.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0