Minimum Number of Moves to Seat Everyone

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
Leetcode
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Có ~n~ ghế có sẵn và n học sinh đang đứng trong một phòng. Bạn được cung cấp một mảng seats có độ dài ~n~, trong đó ~seats[i]~ là vị trí của ghế thứ ~i~. Bạn cũng được cung cấp mảng students có độ dài ~n~, trong đó ~students[j]~ là vị trí của học sinh thứ ~j~.

Bạn có thể thực hiện các bước sau bất kỳ số lần nào:

  • Tăng hoặc giảm vị trí của học sinh thứ ~i~ lên ~1~ (tức là, di chuyển học sinh thứ ~i~ từ vị trí ~x~ đến ~x + 1~ hoặc ~x - 1~).

Trả về số bước tối thiểu cần thiết để di chuyển mỗi học sinh đến một ghế sao cho không có hai học sinh nào ngồi cùng một ghế.

Lưu ý rằng có thể có nhiều ghế hoặc học sinh ở cùng một vị trí ngay từ đầu.

Ví dụ 1:

Nhập: seats = [3,1,5], students = [2,7,4] Đầu ra: 4 Giải thích: Các học sinh được di chuyển như sau:

  • Học sinh đầu tiên được di chuyển từ vị trí 2 đến vị trí 1 sử dụng 1 bước.
  • Học sinh thứ hai được di chuyển từ vị trí 7 đến vị trí 5 sử dụng 2 bước.
  • Học sinh thứ ba được di chuyển từ vị trí 4 đến vị trí 3 sử dụng 1 bước. Tổng cộng, 1 + 2 + 1 = 4 bước được sử dụng.

Ví dụ 2:

Nhập: seats = [4,1,5,9], students = [1,3,2,6] Đầu ra: 7 Giải thích: Các học sinh được di chuyển như sau:

  • Học sinh đầu tiên không bị di chuyển.
  • Học sinh thứ hai được di chuyển từ vị trí 3 đến vị trí 4 sử dụng 1 bước.
  • Học sinh thứ ba được di chuyển từ vị trí 2 đến vị trí 5 sử dụng 3 bước.
  • Học sinh thứ tư được di chuyển từ vị trí 6 đến vị trí 9 sử dụng 3 bước. Tổng cộng, 0 + 1 + 3 + 3 = 7 bước được sử dụng.

Ví dụ 3:

Nhập: seats = [2,2,6,6], students = [1,3,2,6] Đầu ra: 4 Giải thích: Lưu ý rằng có hai ghế ở vị trí 2 và hai ghế ở vị trí 6. Các học sinh được di chuyển như sau:

  • Học sinh đầu tiên được di chuyển từ vị trí 1 đến vị trí 2 sử dụng 1 bước.
  • Học sinh thứ hai được di chuyển từ vị trí 3 đến vị trí 6 sử dụng 3 bước.
  • Học sinh thứ ba không bị di chuyển.
  • Học sinh thứ tư không bị di chuyển. Tổng cộng, 1 + 3 + 0 + 0 = 4 bước được sử dụng.

Ràng buộc:

  • ~n == seats.length == students.length~
  • ~1 \leq n \leq 10^{5}~
  • ~1 \leq seats[i], students[j] \leq 10^{9}~

INPUT

  • Dòng 1: Chứa số nguyên ~n~.
  • Dòng 2: Chứa dãy số nguyên ~seats~.
  • Dòng 3: Chứ dãy số nguyên ~students~.

OUTPUT

  • In ra đáp án của bài toán.

Sample Input

3
3 1 5
2 7 4

Sample Output

4

Bình luận

Hãy đọc nội quy trước khi bình luận.


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