Kiến đi trên dây

View as PDF

Submit solution

Points: 0.40
Time limit: 2.0s
Memory limit: 248M
Input: stdin
Output: stdout

Author:
Problem type

Vào một ngày hè rãnh rỗi Tèo nghĩ ra một trò chơi thú vị, tư duy và không kém phần sáng tạo. Cậu ta lấy một sợi dây có độ dài là k cm (Với đầu mút bên trái là vị trí 0 và đầu mút bên phải là vị trí k) và bôi một lớp mật ong lên sợi dây và căng ra hai đầu.

Sau đó, Tèo chợp mắt một lát trong lúc chờ đợi lũ kiến bị dụ đến. Lúc tỉnh dậy, Tèo đã thấy kiến bu đầy trên sợi dây. Một số con đang đi về đầu mút bên phải của sợi dây trong khi số còn lại thì đang đi về đầu mút bên trái. Vì sợi dây khá mảnh nên hai con kiến sẽ không thể đi qua nhau. Vì vậy chúng có một quy luật khá đặc biệt là: Nếu hai con kiến đụng đầu nhau, chúng sẽ lập tức đổi hướng đi. Tèo đã đánh số các con kiến trên dây từ 1 đến n và ghi lại vị trí cũng như hướng di chuyển của nó tương ứng ai (với |ai| là vị trí của con kiến và nếu ai<0 thì con kiến đang đi sang phải còn ai>0 thì con kiến đang đi sang trái). Nếu một con kiến đi tới một trong hai đầu mút của sợi dây thì ngay lúc đó nó coi như đã rời khỏi sợi dây.

Tèo muốn đố bạn rằng tổng thời gian để con kiến cuối cùng rời khỏi sợi dây là giây thứ mấy? Biết rằng các con kiến di chuyển với vận tốc 1cm/s.

Ví dụ: Sợi dây dài k=43 con kiến ở vị trí 1, 2, 3 và đi về hướng đầu mút lần lượt là phải, trái, trái.

Tại giây 0.5, con kiến 1 chạm con kiến 2 tại vị trí 1.5 và chúng đổi chiều.

Tại giây 1, con kiến 2 chạm con kiến 3 tại vị trí 2 và chúng đổi chiều.

Tại giây 2, con kiến 1 chạm đến vị trí đầu mút trái. Đồng nghĩa với việc con kiến 1 rời khỏi sợi dây.

Tại giây 3, con kiến 2 chạm đến vị trí đầu mút trái và con kiến số 3 chạm vị trí đầu mút phải. Đồng nghĩa với việc con kiến 2 và con kiến 3 rời khỏi sợi dây.

Vậy thời điểm con kiến cuối cùng rời khỏi sợi dây là giây thứ 3.

InputFile

Dòng đầu tiên chứa một số nguyên dương t - Số lượng testcase

T bộ dòng tiếp theo mỗi dòng gồm 2 dòng:

  • Dòng đầu tiên chứa 2 số nguyên nk lần lượt là số con kiến và độ dài của sợi dây (Với 0<n<k).

  • Dòng tiếp theo chứa n số nguyên ai là vị trí và hướng của những con kiến đó. Với |ai| là vị trí của nó trên sợi dây và nếu ai là âm thì nó đang đi về đầu mút bên phải hoặc ai là dương thì nó đang đi về đầu mút bên trái (Với 0<|ai|<k, 1in). Luôn đảm bảo 0<|a1|<|a2|<...<|an|<k.

Luôn đảm bảo tổng số n của tất cả testcase luôn 106

OutputFile

Một dòng duy nhất là một số nguyên dương đại diện cho thời điểm con kiến cuối cùng rời khỏi dây.

Sample Input
Copy
1 
3 4
-1 2 3
Sample Outpt
Copy
3
Cách tính điểm:
  • Subtest 1: (50% số điểm) Với n102k103.
  • Subtest 2: (30% số điểm) Với n103k106.
  • Subtest 3: (20% số điểm) Với n106k1018.

Comments

Please read the guidelines before commenting.


There are no comments at the moment.