Loading Now

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ỏi b[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ỏi b[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ỏi b[2]=1 sẽ nhận được số điểm là Max(a[0],a[1])=5.
  • 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ảng b.



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

Contact