[Buổi 15][Ngăn xếp][HW] Bài 3: Ga trung chuyển một đường ray


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Ga trung chuyển một đường ray

Bối cảnh và bài toán

Các toa tàu đi vào ga theo thứ tự 1,2,...,n. Ga có một đường ray phụ dạng ngăn xếp: toa vào sau phải ra trước. Mỗi toa có thể đi thẳng ra hoặc được đưa vào ray phụ rồi lấy ra sau. Người vận hành muốn tạo một thứ tự đầu ra cho trước.

Yêu cầu

Xác định có thể tạo đúng hoán vị mục tiêu hay không.

Input

  • Dòng 1: n.
  • Dòng 2: hoán vị p[1..n].

Output

In YES nếu thực hiện được, ngược lại in NO.

Ràng buộc

  • 1 <= n <= 2 * 10^5
  • p là hoán vị của 1..n

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 20% n <= 100 01–04
S2 30% n <= 5000 05–10
S3 50% Không có ràng buộc bổ sung 11–20

Ví dụ 1

Input

5
5 4 3 2 1

Output

YES

Giải thích. Đưa toàn bộ toa 1..5 vào ray phụ rồi lấy ra ngược lại.

Ví dụ 2

Input

5
3 1 2 5 4

Output

NO

Giải thích. Sau khi đưa 1,2,3 vào và lấy 3 ra, toa 2 nằm trên toa 1 nên không thể lấy 1 trước 2.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M05-B15-HW03
Buổi B15
Loại bài HOMEWORK
Mức độ khó Trung bình (Medium)
Thời gian làm bài khuyến nghị 45 phút
Time limit 2 giây
Memory limit 256 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++11 trở lên

Nguồn: Phỏng theo UVa Online Judge 514 – Rails.

Tham khảo: https://onlinejudge.org/external/5/514.pdf


Comments

There are no comments at the moment.

Zalo