Nội dung Bài tập
Mã:
DayCon_HoanVi
Tên:
Dãy con hoán vị
Dạng thi:
oi
Thang điểm:
5 điểm
Giới hạn thời gian:
2 giây
Giới hạn bộ nhớ:
256 MB
Nguồn bài tập:
Codeforces Problem 1557 B
Được tạo bởi:
hungphitkn

Hoán vị mảng con

Giới hạn thời gian mỗi test: 2 seconds

Giới hạn bộ nhớ mỗi test: 256 megabytes

Đầu vào: Đầu vào chuẩn

Đầu ra: Đầu ra chuẩn

Cho một mảng gồm n số tự nhiên phân biệt. Hãy sắp xếp mảng đã cho theo thứ tự không giảm bằng cách thực hiện lần lượt các thao tác sau một lần duy nhất:

1. Chia mảng đã cho thành chính xác k mảng con không rỗng sao cho mỗi phần tử ở mảng gốc chỉ thuộc đúng 1 mảng con;

2. Sắp xếp lại thứ tự của các mảng con tùy ý;

3. Hợp các mảng con lại theo thứ tự mới của nó.

Một mảng a là mảng con của mảng b nếu có thể tìm được a bằng cách xóa một số (có thể không xóa hoặc xóa tất cả) phần tử của mảng b từ vị trí đầu tiên về cuối hoặc từ vị trí cuối cùng lên đầu.

Bạn hãy viết một chương trình để cho biết có thể sắp xếp một mảng cho trước theo thứ tự không giảm bằng các thao tác nêu trên hay không.

Đầu vào

Dòng đầu tiên chứa một số nguyên t (1 ≤ t ≤ 103) – số lượng các trường hợp kiểm thử. Mỗi trường hợp kiểm thử có cấu trúc như sau:

Dòng đầu tiên của mỗi trường hợp chứa hai số nguyên nk (1 ≤ kn ≤ 105).

Dòng thứ hai chứa n số nguyên a1, a2,…, ­an (0 ≤ |ai| ≤ 109, 1 ≤ in). Đảm bảo rằng tất cả các số đều khác nhau.

Đảm bảo rằng tổng của n từ tất cả trường hợp kiểm thử không vượt quá 3 × 105.

Đầu ra

Với mỗi trường hợp kiểm thử, chương trình in ra một xâu duy nhất.

Nếu có thể sắp xếp mảng đã cho theo thứ tự không giảm, in ra “YES” (không có dấu đóng mở ngoặc). Ngược lại, in ra “NO” (không có dấu đóng mở ngoặc).

Chú ý in ra đúng kí tự in hoa.

Ví dụ:

Input

Output

3

5 4

6 3 4 2 1

4 2

1 -4 0 -2

5 1

1 2 3 4 5

YES

NO

YES





Trong trư
ờng hợp đầu tiên, a = [6, 3, 4, 2, 1], và k = 4, có thể thực hiện các thao tác sau:

1. Chia mảng a thành {[6], [3, 4], [2], [1]}.

2. Sắp xếp lại thành: {[1], [2], [3, 4], [6]}

3. Gộp lại thành [1, 2, 3, 4, 6], và thế là mảng a đã được sắp xếp theo thứ tự đúng.

Trong trường hợp thứ hai,  không có cách nào để sắp xếp mảng đã cho chỉ bằng cách tách nó ra thành 2 mảng con.


    Quảng cáo
       Ngôn ngữ : 

       Theme : 
Mời bạn soạn code



		



      Ai có thể xem bài này : 

Thông tin



Phần thảo luận