Số lớn nhất
Submit solution
Points:
2 (partial)
Time limit:
1.0s
Memory limit:
98M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Cho dãy số nguyên có n phần tử \(a_1, a_n, ...,a_n\) các giá trị \(-10^5 \le a_i \le 10^5\) và có m thao tác, mỗi thao tác biến đổi số ở vị trí nào đó thành số đối của nó gồm \(b_1, b_2, ... , b_m\). \((1 \le b_i \le n)\) Nhiệm vụ của bạn phải xuất ra m giá trị lớn nhất của dãy số sau khi thực hiện từng thao tác biến đổi. Chú ý rằng các giá trị \(b_i, b_j\) có thể trùng nhau.
Input
Dòng đầu gồm hai số n và m \((1 \le n,m \le 10^5)\)
Dòng thứ 2 chứa n số nguyên thuộc đoạn \([-10^5, 10^5]\)
Dòng thứ 3 chứa m số nguyên thuộc đoạn [1, ... , n]
Output
Xuất ra m giá trị lớn nhất của dãy sau từng phép biến đổi trên cùng một dòng
Ví dụ
Input
5 6
3 -4 5 -6 -5
2 3 2 5 1 4
Output
5 4 3 5 5 6
Giải thích Dãy lần lượt biến đổi như sau
3 4 5 -6 -5 -> 5
3 4 -5 -6 -5 -> 4
3 -4 -5 -6 -5 -> 3
3 -4 -5 -6 5 -> 5
-3 -4 -5 -6 5 -> 5
-3 -4 -5 6 5 -> 6
Comments
.
Tìm hiểu về cấu trúc dữ liệu map hoặc multi_set sẽ giải được bài này