JOI 2012 - Invitation

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: 2400 (p) Thời gian: 3.0s Bộ nhớ: 128M Input: bàn phím Output: màn hình

Năm 20XX, kỳ thi IOI cuối cùng cũng được tổ chức tại thị trấn JOI của đất nước JOI. Một bữa tiệc sẽ được tổ chức để kỷ niệm sự kiện này. Thị trấn có \(A\) con chó được đánh số từ \(1\) đến \(A\)\(B\) con mèo được đánh số từ \(1\) đến \(B\). Bạn muốn mời cả \(A+B\) con vật đến dự tiệc.

Giữa những con chó và mèo có \(N\) nhóm bạn thân. Nhóm thứ \(i\) gồm tất cả \(Q_i-P_i+1\) con chó có số hiệu từ \(P_i\) đến \(Q_i\) và tất cả \(S_i-R_i+1\) con mèo có số hiệu từ \(R_i\) đến \(S_i\). Nhóm này có độ thân thiết là số nguyên dương \(T_i\). Một con vật có thể thuộc nhiều nhóm hoặc không thuộc nhóm nào.

Bạn rất thân với con chó số \(C\) và đã mời thành công con chó đó. Bạn sẽ lặp lại quy trình sau để mời những con vật còn lại:

  1. Nếu đã mời thành công cả \(A+B\) con vật thì kết thúc.
  2. Tính giá trị hạnh phúc khi mời từng con vật chưa được mời. Xét các nhóm mà con vật đó thuộc về và đã có ít nhất một con chó hoặc mèo được mời thành công. Giá trị hạnh phúc là độ thân thiết lớn nhất trong các nhóm như vậy. Nếu không có nhóm nào thỏa mãn, giá trị hạnh phúc bằng \(0\).
  3. Chọn con vật có giá trị hạnh phúc lớn nhất. Nếu có nhiều con như vậy, ưu tiên chó hơn mèo; nếu vẫn còn nhiều lựa chọn, ưu tiên con có số hiệu nhỏ hơn.
  4. Nếu giá trị hạnh phúc của con vật được chọn bằng \(0\), việc mời thất bại và quy trình kết thúc. Ngược lại, bạn mời thành công con vật đó rồi tiếp tục quy trình.

Yêu cầu

Cho \(A\), \(B\), \(C\) và thông tin của \(N\) nhóm bạn thân, hãy xác định liệu có mời thành công tất cả các con vật hay không. Nếu có, hãy tính tổng giá trị hạnh phúc của những con vật được chọn qua các bước của quy trình. Con chó số \(C\) đã được mời từ trước nên không đóng góp vào tổng này.

Dữ liệu vào

Đọc dữ liệu từ đầu vào chuẩn:

  • Dòng đầu tiên chứa ba số nguyên \(A\), \(B\), \(C\), lần lượt là số con chó, số con mèo và số hiệu con chó đã được mời.
  • Dòng thứ hai chứa số nguyên \(N\), là số nhóm bạn thân.
  • Dòng thứ \(i+2\) (\(1 \le i \le N\)) chứa năm số nguyên \(P_i\), \(Q_i\), \(R_i\), \(S_i\), \(T_i\), cách nhau bởi dấu cách, mô tả nhóm thứ \(i\).

Dữ liệu ra

In ra đầu ra chuẩn một dòng chứa một số nguyên:

  • Nếu mời thành công cả \(A+B\) con vật, in tổng giá trị hạnh phúc của các con vật được chọn qua các bước của quy trình.
  • Nếu việc mời thất bại giữa chừng, in \(-1\).

Ràng buộc

  • \(1 \le A \le 1\,000\,000\,000\).
  • \(1 \le B \le 1\,000\,000\,000\).
  • \(1 \le C \le A\).
  • \(1 \le N \le 100\,000\).
  • \(1 \le P_i \le Q_i \le A\) với mọi \(1 \le i \le N\).
  • \(1 \le R_i \le S_i \le B\) với mọi \(1 \le i \le N\).
  • \(1 \le T_i \le 1\,000\,000\,000\) với mọi \(1 \le i \le N\).

Phân nhóm

  • Các bộ kiểm thử chiếm \(30\%\) tổng số điểm thỏa mãn \(A \le 1\,000\), \(B \le 1\,000\)\(N \le 2\,000\).
  • Các bộ kiểm thử chiếm \(50\%\) tổng số điểm thỏa mãn \(N \le 2\,000\).

Các tỉ lệ trên là các điều kiện tích lũy; không cộng chúng thành các nhóm điểm độc lập.

Ví dụ

Ví dụ 1

Input
5 6 3
4
2 4 1 3 20
1 2 2 4 40
4 5 2 3 30
4 4 4 6 10
Output
280
Giải thích

Ban đầu, chó \(3\) đã được mời thành công.

Giá trị hạnh phúc của chó \(2\), chó \(4\), mèo \(1\), mèo \(2\) và mèo \(3\) đều là \(20\); các con vật chưa được mời khác có giá trị \(0\). Vì ưu tiên chó rồi đến số hiệu nhỏ nhất, bạn chọn chó \(2\) và mời thành công.

Sau đó, chó \(1\) có giá trị hạnh phúc \(40\), chó \(4\) có giá trị \(20\), mèo \(1\) có giá trị \(20\), các mèo \(2\), \(3\), \(4\) có giá trị \(40\), còn các con vật chưa được mời khác có giá trị \(0\). Bạn chọn chó \(1\) và mời thành công.

Tiếp tục quy trình, tất cả các con vật được mời theo thứ tự sau:

Con vật Số hiệu Giá trị hạnh phúc khi được mời
Chó \(3\)
Chó \(2\) \(20\)
Chó \(1\) \(40\)
Mèo \(2\) \(40\)
Mèo \(3\) \(40\)
Mèo \(4\) \(40\)
Chó \(4\) \(30\)
Chó \(5\) \(30\)
Mèo \(1\) \(20\)
Mèo \(5\) \(10\)
Mèo \(6\) \(10\)

Tổng các giá trị hạnh phúc trong bảng là \(280\), nên in ra \(280\).

Ví dụ 2

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

Sau khi mời chó \(1\), \(2\), \(3\), \(4\), \(5\) và mèo \(1\), \(2\), \(3\), \(4\), \(5\), con vật được chọn tiếp theo là chó \(6\), có giá trị hạnh phúc bằng \(0\). Vì vậy việc mời thất bại giữa chừng và kết quả là \(-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: