trang chủ / đề bài / voi26_light

Dãy đèn

Đề bài

Mô tả

Giáng sinh năm nay, khu phố VOI được trang trí bởi một dàn N bóng đèn, các bóng đèn được đánh số từ 1 đến N. Ban đầu, mỗi bóng đèn ở một trong 3 trạng thái: tắt, vàng hoặc đỏ. Mỗi bóng đèn được điều khiển bởi một công tắc vòng tròn hoạt động như sau:

  • Khi xoay theo chiều kim đồng hồ một nấc, trạng thái bóng đèn thay đổi:
    • Nếu đang tắt → chuyển sang vàng.
    • Nếu đang vàng → chuyển sang đỏ.
    • Nếu đang đỏ → chuyển sang tắt.
  • Khi xoay ngược chiều kim đồng hồ một nấc, trạng thái bóng đèn thay đổi:
    • Nếu đang tắt → chuyển sang đỏ.
    • Nếu đang đỏ → chuyển sang vàng.
    • Nếu đang vàng → chuyển sang tắt.

Ban quản trị VOI nhận được Q yêu cầu khảo sát. Mỗi yêu cầu gồm hai giá trị L và R với 1≤L≤R≤N. Cụ thể, mỗi yêu cầu cần tìm một dãy các thao tác để đưa tất cả các bóng đèn từ L đến R về trạng thái tắt. Mỗi thao tác được thực hiện như sau: chọn X+Y bóng đèn phân biệt trong đoạn từ L đến R, trong đó:

  • X bóng đèn để xoay công tắc theo chiều kim đồng hồ một nấc.
  • Y bóng đèn còn lại để xoay công tắc ngược chiều kim đồng hồ một nấc.

Lưu ý: Các yêu cầu khảo sát là độc lập, nghĩa là mỗi yêu cầu đều được xử lý trên trạng thái ban đầu của dãy đèn. Giá trị X và Y cố định cho tất cả Q yêu cầu. Các công tắc vòng tròn có thể xoay không giới hạn theo cả hai chiều.

Yêu cầu: Với mỗi yêu cầu khảo sát, hãy tìm số thao tác ít nhất để đưa toàn bộ các bóng đèn trong đoạn từ L đến R về trạng thái tắt.

Dữ liệu vào

  • Dòng đầu tiên chứa 4 số nguyên không âm N,Q,X,Y (0<X+Y≤5; X+Y≤N≤666; 1≤Q≤105).
  • Dòng thứ hai chứa N số nguyên, số thứ i có giá trị 0, 1 hoặc 2 tương ứng với trạng thái ban đầu của bóng đèn thứ i là tắt, vàng hoặc đỏ (1≤i≤N).
  • Mỗi dòng trong số Q dòng tiếp theo chứa hai số nguyên dương L và R mô tả một yêu cầu. Dữ liệu bảo đảm R−L+1≥X+Y trong tất cả các yêu cầu.

Dữ liệu ra

Gồm Q dòng, mỗi dòng một số nguyên là số lượng thao tác ít nhất tìm được cho yêu cầu khảo sát tương ứng hoặc −1 nếu không tồn tại phương án.

Ràng buộc

  • X,Y≥0; 0<X+Y≤5; X+Y≤N≤666; 1≤Q≤105.
  • Trạng thái mỗi bóng đèn là 0, 1 hoặc 2.
  • Mỗi yêu cầu: 1≤L≤R≤N và R−L+1≥X+Y.

Subtasks

  • Subtask 1 (30% số điểm): X=Y=1; N≤10; Q=1.
  • Subtask 2 (20% số điểm): X=Y=1; Q=1.
  • Subtask 3 (34% số điểm): Q≤5.
  • Subtask 4 (16% số điểm): Không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
5 3 1 1
2 2 2 2 1
1 5
2 4
3 5
3
2
-1
Yêu cầu thứ nhất cần ít nhất 3 thao tác, chẳng hạn: xoay đèn 4 theo chiều kim đồng hồ và đèn 5 ngược chiều, được (2,2,2,0,0); xoay đèn 1 theo chiều kim đồng hồ và đèn 2 ngược chiều, được (0,1,2,0,0); xoay đèn 3 theo chiều kim đồng hồ và đèn 2 ngược chiều, được (0,0,0,0,0). Với yêu cầu thứ ba, không có cách nào tắt được cả ba đèn 3,4,5.
6 1 1 1
2 0 1 2 2 2
1 6
3 Ví dụ bổ sung (không có trong đề gốc). Một cách dùng 3 thao tác: xoay đèn 1 theo chiều kim đồng hồ và đèn 3 ngược chiều, được (0,0,0,2,2,2); xoay đèn 4 theo chiều kim đồng hồ và đèn 5 ngược chiều, được (0,0,0,0,1,2); xoay đèn 6 theo chiều kim đồng hồ và đèn 5 ngược chiều, được (0,0,0,0,0,0).

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