trang chủ / bài tập / fugitive

Vụ án kẻ chạy trốn

Đề bài

Mô tả

Trên một trục số có n hòn đảo được biểu diễn bởi các đoạn thẳng không giao nhau: đảo thứ i chiếm đoạn [li,ri] và thoả mãn ri<li+1 với mọi 1in1.

Bạn cần đặt một cây cầu nối mỗi cặp hai đảo liền kề. Một cây cầu có độ dài a có thể nối đảo i và đảo i+1 nếu tồn tại hai toạ độ x,y sao cho lixri, li+1yri+1yx=a.

Bạn có m cây cầu cho sẵn, mỗi cây cầu có một độ dài và chỉ được dùng nhiều nhất một lần. Hãy xác định xem có thể chọn n1 cây cầu trong số đó và xếp vào n1 vị trí (giữa các cặp đảo liền kề) hợp lệ hay không, và nếu có hãy chỉ ra một phương án.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên nm.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên liri — toạ độ hai đầu của đảo thứ i.
  • Dòng cuối chứa m số nguyên a1,a2,,am — độ dài các cây cầu.

Dữ liệu ra

  • Nếu không thể, in ra một dòng chứa No.
  • Ngược lại, dòng đầu in Yes, dòng thứ hai in n1 số nguyên b1,b2,,bn1, trong đó bi là chỉ số cây cầu (đánh số từ 1) được dùng để nối đảo i và đảo i+1. Các bi phải đôi một khác nhau. Nếu có nhiều phương án, in ra một phương án bất kỳ.

In Yes / No đúng định dạng chữ hoa/chữ thường như trên.

Ràng buộc

  • 2n2·105
  • 1m2·105
  • 1liri1018
  • ri<li+1 với mọi 1in1
  • 1aj1018

Ví dụ

Input Output Giải thích
4 4
1 4
7 8
9 10
12 14
4 5 3 8
Yes
2 3 1
Dùng cầu 2 (độ dài 5) nối đảo 12 (chọn x=3,y=8), cầu 3 (độ dài 3) nối đảo 23 (chọn x=7,y=10), cầu 1 (độ dài 4) nối đảo 34 (chọn x=10,y=14). Cầu 4 độ dài 8 không dùng.
2 2
11 14
17 18
2 9
No Cây cầu thứ nhất quá ngắn, cây cầu thứ hai quá dài, không có phương án hợp lệ.
2 1
1 1
1000000000000000000 1000000000000000000
999999999999999999
Yes
1
Khoảng cách bắt buộc giữa hai đảo là 10181, đúng bằng độ dài cây cầu duy nhất.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0