Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

MNEMDA - NÉM ĐÁ

Các hệ thống lập trình đều cung cấp phương tiện để khởi tạo giá trị cho một mảng bộ nhớ tính theo
đơn vị byte. Tuy vậy byte là đơn vị quá lớn trong việc xử lý ảnh. Các chương trình xử lý ảnh đòi hỏi
có công cụ khởi tạo giá trị cho một vùng bộ nhớ theo đơn vị tinh tế hơn là bít, xác lập giá trị 0 cho dãy
bít liên tiếp nhau từ trái sang phải . Có cầu ắt có cung. Một chương trình như vậy đã được xây dựng.
Các byte trong vùng bộ nhớ cần khởi tạo được được đánh số từ 0 trở đi, ngoài địa chỉ đầu của vùng
cần khởi tạo lời gọi chương trình còn chứa 4 số nguyên  a, pbvà qcho biết chương trình sẽ xác lập
giá trị 0 cho các bít bắt đầu bít thứ pcủa byte acho đến bít thứ qcủa byte b(kể cả bít này). Lưu ý
rằng trong một byte các bít được đánh số từ 0 đến 7 từ phải sang trái. Một thành viên của Facebook
phát tán trên mạng vài hình ảnh không đẹp và bị các cư dân mạng “ném đá” tới tấp bằng cách hợp sức
tạo lỗ hổng thông tin trên ảnh bắt đầu từ một vùng thông tin có địa chỉ đã thống nhất, kích thước  m
bytes chứa các giá trị v0
, v1
, . . ., vm
(0 ≤ vj
≤ 255, j= 0 ÷ m-1). Đã có nngười tham gia tạo lỗ hổng,
người thứ ikích hoạt chương trình khởi tạo với các tham số ci
, pi
, di
và qi
(0 ≤ ci<di
< m, hoặc ci=
di<mvà qi<pi
, i= 1 ÷ n). Hoạt động này đã lôi cuốn thêm kbạn trẻ nữa tham gia, đưa ra các lệnh
theo quy tắc trên, nhưng để tiết kiệm thời gian xử lý, một chương trình duyệt đã được cài đặt kiểm tra
xem mỗi yêu cầu mới có cần phải thực hiện hay không và chỉ thực hiện khi nó có xóa thêm ít nhất một
bít giá trị 1 nếu áp dụng với các giá trị  vj
đã được xử lý bởi nngười đầu tiên, khi đó người đưa ra yêu
cầu sẽ nhận được câu trả lời YES, trong trường hợp ngược lại – câu trả lời sẽ là PASS.
Hãy xác định câu trả lời cho từng người trong số kngười tham gia sau.
Dữ liệu:Vào từ file văn bản STONE.INP:
• Dòng đầu tiên chứa 3 số nguyên m, nvà k(1 ≤ m≤ 10
6
,1 ≤ n≤ 10
5
, 1 ≤ k≤ 10),
• Dòng thứ 2 chứa m số nguyên v
0, v1
, . . ., vm-1, (0 ≤ vj
≤ 255),
• Dòng thứ itrong ndòng tiếp theo chứa 4 số nguyên ci
, pi
, di
và qi
,
• Mỗi dòng trong kdòng tiếp theo chứa 4 số nguyên xác định một yêu cầu xử lý mới theo quy
cách như đã nêu.
Các số trên một dòng ghi cách nhau một dấu cách.
Kết quả:Đưa ra file văn bản STONE.OUT câu trả lời YEShoặc PASScho mỗi yêu cầu mới, mỗi câu
trả lời ghi trên một dòng.
Các hệ thống lập trình đều cung cấp phương tiện để khởi tạo giá trị cho một mảng bộ nhớ tính theo đơn vị byte. Tuy vậy byte là đơn vị quá lớn trong việc xử lý ảnh. Các chương trình xử lý ảnh đòi hỏi có công cụ khởi tạo giá trị cho một vùng bộ nhớ theo đơn vị tinh tế hơn là bít, xác lập giá trị 0 cho dãy bít liên tiếp nhau từ trái sang phải . Có cầu ắt có cung. Một chương trình như vậy đã được xây dựng.
Các byte trong vùng bộ nhớ cần khởi tạo được được đánh số từ 0 trở đi, ngoài địa chỉ đầu của vùng cần khởi tạo lời gọi chương trình còn chứa 4 số nguyên  a, pbvà qcho biết chương trình sẽ xác lập giá trị 0 cho các bít bắt đầu bít thứ pcủa byte acho đến bít thứ qcủa byte b(kể cả bít này). Lưu ý rằng trong một byte các bít được đánh số từ 0 đến 7 từ phải sang trái. Một thành viên của Facebook phát tán trên mạng vài hình ảnh không đẹp và bị các cư dân mạng “ném đá” tới tấp bằng cách hợp sức  tạo lỗ hổng thông tin trên ảnh bắt đầu từ một vùng thông tin có địa chỉ đã thống nhất, kích thước  m bytes chứa các giá trị v0, v1, . . ., vm, (0 ≤ vj ≤ 255, j= 0 ÷ m-1). Đã có n người tham gia tạo lỗ hổng, người thứ i kích hoạt chương trình khởi tạo với các tham số ci, pi, di và qi(0 ≤ ci<di< m, hoặc ci= di<mvà qi<pi , i= 1 ÷ n). Hoạt động này đã lôi cuốn thêm  kbạn trẻ nữa tham gia, đưa ra các lệnh theo quy tắc trên, nhưng để tiết kiệm thời gian xử lý, một chương trình duyệt đã được cài đặt kiểm tra xem mỗi yêu cầu mới có cần phải thực hiện hay không và chỉ thực hiện khi nó có xóa thêm ít nhất một bít giá trị 1 nếu áp dụng với các giá trị  vj đã được xử lý bởi n người đầu tiên, khi đó người đưa ra yêu cầu sẽ nhận được câu trả lời YES, trong trường hợp ngược lại – câu trả lời sẽ là PASS.
Hãy xác định câu trả lời cho từng người trong số k người tham gia sau.
Dữ liệu:Vào từ file văn bản STONE.INP:
• Dòng đầu tiên chứa 3 số nguyên m, n và k(1 ≤ m≤ 10^6,1 ≤ n≤ 10^5, 1 ≤ k≤ 10),
• Dòng thứ 2 chứa m số nguyên v0, v1, . . ., vm-1, (0 ≤ vj ≤ 255),
• Dòng thứ i trong n dòng tiếp theo chứa 4 số nguyên ci, pi, di và qi,
• Mỗi dòng trong k dòng tiếp theo chứa 4 số nguyên xác định một yêu cầu xử lý mới theo quy cách như đã nêu.Các số trên một dòng ghi cách nhau một dấu cách.
Kết quả:Đưa ra file văn bản STONE.OUT câu trả lời YES hoặc PASS cho mỗi yêu cầu mới, mỗi câu trả lời ghi trên một dòng.
STONE.INP 
4 1 2
12 130 255 193
0 2 2 3
1 5 1 0
1 1 2 2
STONE.OUT
PASS
YES


Được gửi lên bởi:psetter
Ngày:2014-10-05
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA
Nguồn bài:OLP CT 2012

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.