Nóng hoá Lạnh

Đề bài

Mô tả

Cho một mảng gồm n số nguyên a1,a2,…,an.

Bạn sẽ thực hiện q thao tác. Trong thao tác thứ i, bạn được cho một ký hiệu si (là "<" hoặc ">") và một số nguyên xi. Thao tác tạo ra một mảng mới b theo quy tắc:

  • Nếu si là ">": mọi phần tử aj>xi bị đổi dấu (thành −aj), các phần tử còn lại giữ nguyên.
  • Nếu si là "<": mọi phần tử aj<xi bị đổi dấu (thành −aj), các phần tử còn lại giữ nguyên.

Sau đó a được gán bằng b và ta chuyển sang thao tác tiếp theo.

Hãy in ra mảng cuối cùng sau khi thực hiện tất cả q thao tác.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên n,q là số phần tử của mảng và số thao tác.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.
  • Trong q dòng tiếp theo, dòng thứ i chứa một ký tự si và một số nguyên xi.

Dữ liệu ra

In ra n số nguyên c1,c2,…,cn là mảng sau khi thực hiện tất cả các thao tác.

Ràng buộc

  • 1≤n,q≤105
  • −105≤ai≤105
  • si∈{<,>} và −105≤xi≤105

Ví dụ

Input Output Giải thích
11 3
-5 -4 -3 -2 -1 0 1 2 3 4 5
> 2
> -4
< 5
5 4 -3 -2 -1 0 1 2 -3 4 5 Mảng biến đổi qua các bước: ban đầu [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]; sau "> 2": [-5, -4, -3, -2, -1, 0, 1, 2, -3, -4, -5]; sau "> -4": [-5, -4, 3, 2, 1, 0, -1, -2, 3, -4, -5]; sau "< 5": [5, 4, -3, -2, -1, 0, 1, 2, -3, 4, 5].
5 5
0 1 -2 -1 2
< -2
< -1
< 0
< 1
< 2
0 -1 2 -1 2 Mỗi thao tác "< x" đổi dấu các phần tử nhỏ hơn x theo giá trị hiện tại của mảng.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0