Nhà gần nhất


Submit solution

Points: 2 (partial)
Time limit: 1.0s
Memory limit: 488M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Trên một con đường mới xây có \(m\) căn nhà được đánh số từ 1 đến \(m\). Vì con đường còn khá mới nên chỉ một số căn nhà đã có người ở. Cho biết một số nhà \(x\), bạn hãy xác định xem số nhà \(x\) đã có người ở chưa, nếu có hãy xác định số nhà gần nhất so với \(x\) có người ở được đánh số bao nhiêu.

Đầu vào

  • Dòng đầu tiên gồm số tự nhiên \(n\) và \(m\) ngăn cách bởi một dấu cách, trong đó \(n\) là số căn nhà đã có người ở, \(m\) là tổng số căn nhà trên đường \((0 < n, m \le 100000)\).
  • Dòng thứ hai gồm \(n\) số tự nhiên \(a_i\) ngăn cách bởi một dấu cách là các số nhà đã có người ở \((0 < a_i \le m)\) và \(a_i\) là duy nhất.
  • Dòng thứ ba gồm số tự nhiên \(t\) là số bộ test \((0 < t \le 100000)\)
  • Dòng thứ tư gồm \(t\) số tự nhiên \(x_i\) ngăn cách bởi một dấu cách là các căn nhà cần xét \((0 < x_i \le m)\).

Đầu ra

1 dòng duy nhất là kết quả khi xét số nhà \(x_i\), mỗi kết quả cách nhau một dấu cách. Nếu số nhà \(x_i\) chưa có người ở thì in ra 0 còn nếu có người ở thì in ra số nhà gần nhất có người ở (Nếu có hai số nhà có cùng khoảng cách thì chọn cái nào có số nhà bé hơn).

Ví dụ

Đầu vào

5 10
1 5 3 9 8
4
7 6 3 8

Đầu ra

0 0 1 9

Giải thích

  • Số nhà 7 chưa có người ở
  • Số nhà 6 chưa có người ở
  • 1 và 5 đều có cùng khoảng cách đến 3 nhưng 1 nhỏ hơn 5
  • Số nhà 9 gần 8 nhất

Comments

There are no comments at the moment.