JOI 2015 - IOIOI Cards

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Có các thẻ ghi I ở mặt trước và O ở mặt sau. Ban đầu xếp lần lượt \(A\) thẻ ngửa, \(B\) thẻ úp, \(C\) thẻ ngửa, \(D\) thẻ úp, rồi \(E\) thẻ ngửa.

\(N\) loại thao tác. Loại \(i\) lật mọi thẻ từ vị trí \(L_i\) đến \(R_i\), tốn \(R_i-L_i+1\) giây. Phải thực hiện ít nhất một thao tác; được chọn thứ tự tùy ý và dùng một loại nhiều lần. Hãy tìm thời gian nhỏ nhất để mọi thẻ đều ngửa, hoặc xác định rằng không thể.

Dữ liệu vào

  • Dòng 1: \(A,B,C,D,E\).
  • Dòng 2: \(N\).
  • \(N\) dòng tiếp: \(L_i,R_i\).

Dữ liệu ra

In thời gian nhỏ nhất, hoặc -1 nếu không thể thành công.

Ràng buộc

\[ 1\le A,B,C,D,E,N\le100\,000, \]
\[ 1\le L_i\le R_i\le A+B+C+D+E. \]

Phân nhóm

  • Nhóm 1 (15 điểm): \(N\le10\).
  • Nhóm 2 (50 điểm): \(A,B,C,D,E\le50\).
  • Nhóm 3 (35 điểm): không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
1 2 3 4 5
3
2 3
2 6
4 10
Output
12
Giải thích

Ở ví dụ 1, ban đầu là IOOIIIOOOOIIIII. Dùng thao tác 2 rồi 3 tạo ra toàn ký tự I, tốn \(5+7=12\) giây.

Ví dụ 2

Input
1 1 1 1 1
1
1 1
Output
-1

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: