
maxPoint
Trong một trò chơi trả lời câu hỏi, nếu người chơi bị thua ở câu thứ i
thì người chơi sẽ nhận được số điểm là Max(a[0], a[1], a[2],..., a[i]).
Cho trước dãy a
với a[i]
là số điểm ở câu i+1
, dãy b
gồm n
phần tử cho biết người chơi j
đã bị thua ở câu thứ b[j].
Hãy trả về một dãy gồm các số điểm của n
người chơi trong mảng b
.
Ví dụ:
- Với
a = [1,5,2,6,7,2], b = [2,3,1]
thìmaxPoint(a,b) = [5,6,5].
Giải thích:- Người chơi thứ
0
bị thua ở câu hỏib[0]=2
sẽ nhận được số điểm làMax(a[0],a[1],a[2])=5.
- Người chơi thứ
1
bị thua ở câu hỏib[1]=3
sẽ nhận được số điểm làMax(a[0],a[1],a[2],a[3])=6.
- Người chơi thứ
2
bị thua ở câu hỏib[2]=1
sẽ nhận được số điểm làMax(a[0],a[1])=5.
- Người chơi thứ
- Với
a = [1,2,3], b = [0,1,2]
thìmaxPoint(a,b) = [1,2,3].
Đầu vào/Đầu ra:
-
[Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
-
[Đầu vào] Array: Integer: a
1 ≤ a.size() ≤ 105.
0 ≤ a[i] ≤ 109 . -
[Đầu vào] Array: Integer: b
1 ≤ a.size() ≤ 105.
0 ≤ b[i] < a.size(). -
[Đầu ra] Array: Integer
Dãy gồm các điểm của n người chơi trong mảngb
.
Author: Phan Đức Hải
Fanpage: CodeLearn.io
Group: Codelearn – Tự học lập trình C#, C++, Java, Python,Basic algorithms.
Post Comment