USACO 2014 - Goldilocks and the N Cows

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

Có lẽ bạn đã nghe câu chuyện kinh điển về Goldilocks và ba chú gấu. Tuy nhiên, ít ai biết rằng sau này Goldilocks đã chọn nghề nông. Trong trang trại của cô có một chuồng chứa \(N\) con bò (\(1 \le N \le 20\,000\)). Thật không may, những con bò của cô khá nhạy cảm với nhiệt độ.

Mỗi con bò \(i\) chỉ định một khoảng nhiệt độ \(A(i)..B(i)\) mà nó cảm thấy "vừa phải" (\(0 \le A(i) \le B(i) \le 1\,000\,000\,000\)). Nếu Goldilocks đặt bộ điều nhiệt trong chuồng ở nhiệt độ \(T < A(i)\), con bò sẽ quá lạnh và sản xuất \(X\) đơn vị sữa. Nếu cô đặt bộ điều nhiệt ở nhiệt độ \(T\) nằm trong khoảng này (\(A(i) \le T \le B(i)\)), con bò sẽ cảm thấy dễ chịu và sản xuất \(Y\) đơn vị sữa. Nếu cô đặt bộ điều nhiệt ở nhiệt độ \(T > B(i)\), con bò sẽ quá nóng và sản xuất \(Z\) đơn vị sữa. Đúng như dự đoán, \(Y\) luôn lớn hơn cả \(X\)\(Z\).

Cho \(X\), \(Y\), \(Z\) cùng khoảng nhiệt độ ưa thích của mỗi con bò, hãy tính lượng sữa lớn nhất Goldilocks có thể thu được nếu cô cài đặt bộ điều nhiệt trong chuồng một cách tối ưu. Các giá trị \(X\), \(Y\)\(Z\) là những số nguyên trong khoảng \(0..1000\), và bộ điều nhiệt có thể được đặt ở bất kỳ giá trị nguyên nào.

Dữ liệu vào

  • Dòng 1 chứa bốn số nguyên cách nhau bởi dấu cách: \(N\), \(X\), \(Y\), \(Z\).
  • Các dòng \(2..1+N\): dòng \(1+i\) chứa hai số nguyên cách nhau bởi dấu cách là \(A(i)\)\(B(i)\).

Dữ liệu ra

  • Dòng 1 chứa lượng sữa lớn nhất Goldilocks có thể thu được khi đặt nhiệt độ trong chuồng một cách tối ưu.

Phân nhóm

Trong 10 test của bài toán này:

  • Các test \(1..4\)\(B(i) \le 100\) với mọi con bò.
  • Các test \(1..6\)\(N \le 1000\).

Ví dụ

Ví dụ 1

Input
4 7 9 6
5 8
3 4
13 20
7 10
Output
31
Giải thích

Có 4 con bò trong chuồng, với các khoảng nhiệt độ lần lượt là \(5..8\), \(3..4\), \(13..20\)\(7..10\). Một con bò bị lạnh sản xuất 7 đơn vị sữa, một con bò cảm thấy dễ chịu sản xuất 9 đơn vị sữa, còn một con bò bị nóng sản xuất 6 đơn vị sữa.

Nếu Goldilocks đặt bộ điều nhiệt ở 7 hoặc 8 thì bò số 1 và bò số 4 sẽ cảm thấy dễ chịu, bò số 2 quá nóng và bò số 3 quá lạnh. Tổng lượng sữa thu được là 31 đơn vị.

Nguồn

USACO 2013 November Contest, Bronze — Problem 2: Goldilocks and the N Cows

Tác giả đề: Brian Dean, 2013.

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: