
customerVip
Một nhà hàng bắt đầu mở cửa tại thời điểm 0
và đóng cửa tại thời điểm T=2x109
.
Tại cửa ra vào nhà hàng có treo một bảng hiện thị số. Tại thời điểm 0
, số trên bảng là 0
và cứ sau 1s
số trên bảng giữ nguyên giá trị hoặc tăng 1
đơn vị hoặc giảm 1
đơn vị.
Lưu ý rằng bảng chỉ hiện thị được các số không âm.
Cho một ma trận customerList
chứa thông tin về khách hàng, thông tin về mỗi khách hàng thứ i
được biểu diễn thành một mảng gồm 3
số nguyên dương lần lượt là Ti
, Si
và Pi
, trong đó:
Ti
là thời điểm mà vị khách vip thứi
sẽ đi qua nhà hàng.- Số
Pi
là số yêu thích của người đó. Si
là số tiền người đó sẽ vào và tiêu ở nhà hàng nếu như ở thời điểm người đó đi qua nhà hàng biển số trước cửa nhà hàng hiện đúng số người đó thích. Còn nếu không đúng số mà khách hàng thích thì họ sẽ không vào nhà hàng và không tiêu tiền.
Nhiệm vụ của bạn là hãy giúp nhà hàng tìm số tiền lớn nhất mà họ có thể thu được từ các khách hàng vip.
Ví dụ:
- Với
customerList=[[2, 1, 3], [3, 2, 4], [1, 3, 10]]
, thì kết quảcustomerVip(customerList)=7
.
Giải thích:- Tại thời điểm
T=0
, bảng số hiện0
, thời điểm này chưa có khách hàng nào đi qua cửa hàng. - Tại thời điểm
T=1
, ta tăng biển thêm1
đơn vị thành số1
, thời điểm này chưa có khách hàng nào đi qua cửa hàng. - Tại thời điểm
T=2
, thời điểm này có khách hàng thứ0
đi qua cửa hàng, số yêu thích của người đó làS0 = 1
, nên ta giữ nguyên biển ở số1
để người đó vào và tiêu số tiền làP0 = 3.
- Tại thời điểm
T=3
, thời điểm này có khách hàng thứ1
đi qua cửa hàng, số yêu thích của người đó làS1 = 2
, nên ta tăng biển thêm1
đơn vị thành số2
để người đó vào và tiêu số tiền làP1 = 4
. - Vì sau
1s
bảng chỉ giữ nguyên hoặc tăng, giảm1
đơn vị nên từ thời điểmT=0
sang thời điểmT=1
bảng không thể hiển thị số3
để đúng sở thích của khách hàng thứ2
trong danh sáchcustomerList
.
- Tại thời điểm
Tổng số tiền lớn nhất mà các vị khách vip trả cho nhà hàng sẽ là 7
.
Đầu vào/Đầu ra:
- [Thời gian chạy] 0.1s (C++), 0.6s (Java và C#), 0.8s (Python, Go và Javascript).
- [Đầu vào] Matrix.interger customerList
Danh sách khách hàng của nhà hàng. Mỗi phần tử trong danh sách là thông tin về một khách hàng0 <= customerList.length() <= 200
customerList[i].size() = 3
- [Đầu ra] Interger
Tổng số tiền lớn nhất các vị khách vip có thể tiêu ở nhà hàng.
Post Comment