ALARM - Báo thức
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: MrThaodaica

Mr. Thảo đã dành cả ngày để chuẩn bị các bài tập cho các bạn nhằm nâng cao tinh thần và trí lực tiếp sức cho mấy nhóc mới nhú cắp sách đến trường Chuyên Lê Quý Đôn. Bây giờ anh ấy phải ngủ ít nhất a phút để cảm thấy sảng khoái.

Mr. Thảo chỉ có thể thức dậy khi nghe tiếng chuông bao thức. Anh ấy đi ngủ và chuông báo thức đầu tiên reo sau b phút.

Mỗi lần Mr. Thảo thức dậy, anh ấy quyết định có muốn ngủ thêm một lúc nữa hay không. Nếu anh ấy ngủ tổng cộng ít hơn a phút, thì anh ấy đặt báo thức reo sau c phút và dành d phút để nằm thiếp đi. Nếu không thì anh ấy rời khỏi giường của mình mà tiếp tục công việc.

Nếu chuông báo thức reo trong khi Mr. Thảo đang nằm thiếp thì anh ấy đặt lại báo thức reo sau c phút và thiếp đi trong d phút.

Đầu vào:

  • Dòng đầu tiên chứa số nguyên t (1 <= t <= 1000) là số trường hợp
  • T dòng tiếp theo mỗi dòng chứa bốn số nguyên a, b, c, d ( 1 <= a,b,c,d <= 109lần lượt là thời gian để Mr. Thảo cảm thấy sảng khoái, thời gian lần đầu tiên báo thức reo, thời gian đặt báo thức reo sau mỗi lần thức dậy, thời gian để nằm thiếp đi.

Đầu ra:

 In ra T dòng mỗi dòng là một số nguyên là thời gian để Mr. Thảo ra khỏi giường của mình. Nếu anh ấy không ra khỏi giường của mình thì in ra -1. 

Ví dụ

  • input
    5
    10 3 6 4
    11 3 6 4
    5 9 4 10
    6 5 2 3
    1 1 1 1
    output
    27
    27
    9
    -1
    1

Trong trường hợp đầu tiên Mr. Thảo thức dậy sau 3 phút. Anh ấy chỉ ngủ được 3 / 10 phút. Vì vậy anh ấy đặt lại báo thức sau 6 phút và mất 4 phút để nằm thiếp đi. Vì vậy anh ấy ngủ thêm được 2 phút tổng cộng anh ấy ngủ được 5 phút. Lặp lại ba lần và anh áy ngủ được 11 phút. Cuối cùng anh ta ra khỏi giường. Mất 3 phút ban đầu và bốn lần đặt lại báo thức. Đáp án 3 + 4 x 6 = 27

Trong testcase thứ tư, Mr. Thảo thức dậy sau 5 phút, anh ấy đặt báo thức của mình không thể ngủ dù chỉ 1 phút sad

Back to Top