Hộp kẹo

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Clang, Clang++, Cobol, D, Groovy, Haskell, JS, Lua, Node JS, ObjectiveC, Pascal, Prolog, Pypy 3, Python, Scala
Điểm: 1900 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Hôm nay là sinh nhật của flo nên cậu đã được mẹ cậu thưởng \(n\) hộp kẹo với vô vàn loại kẹo khác nhau. Những hộp kẹo này còn có cho mình \(1\) độ ngon nhất định khi hộp thứ \(i\) có độ ngon là \(a_i\). Tuy nhiên nếu ăn hết bây giờ thì sẽ quá lãng phí nên flo quyết định ăn \(n\) hộp kẹo này trong những ngày tới. Mỗi ngày, cậu sẽ chọn \(1\) số nguyên dương \(m\) bất kỳ và ăn \(m\) viên kẹo đầu tiên sao cho độ phong phú của \(m\) hộp kẹo đó giao động từ \(l\) đến \(r\). Đối với flo, độ phong phú của một dãy hộp kẹo là số lượng độ ngon khác nhau của các hộp kẹo đó. Khi ăn như vậy sẽ giúp cậu có thể cảm nhận được sự hòa quyện của các loại kẹo với nhau, từ đó tạo nên một vị ngon khó cưỡng.

Vì là một con người coi trọng việc tiết kiệm, flo muốn ăn theo cách trên nhưng cậu phải ăn hết kẹo mà không chưa lại hộp kẹo nào. Tuy nhiên do số lượng hộp kẹo mà mẹ của flo tặng cho cậu quá lớn làm cho cậu không biết phải phân chia để ăn như thế nào mới có thể thỏa mãn được cậu. Bạn hãy tính giúp flo nhé.

Input

  • \(3\) số nguyên dương \(n, l, r\) \((1 \le l \le r \le n \le 10^5)\).
  • Dãy \(a\) gồm \(n\) phần tử \(a_1, a_2, ..., a_n\) \((1 \le a_i \le 10^9)\).

Output

  • In ra kết quả sau khi chia lấy dư cho \(1234567891\).

Scoring

  • Subtask \(1\) \((10\%)\): \(1 \le n \le 10\).
  • Subtask \(2\) \((20\%)\): \(1 \le n \le 10^2\).
  • Subtask \(3\) \((30\%)\): \(1 \le n \le 10^3\).
  • Subtask \(4\) \((40\%)\): Không giới hạn gì thêm.

Test 1

Input
3 1 2
2 3 2
Output
4
Note
  • Cách ăn kẹo mà thỏa mãn được nhu cầu của flo như sau.
    • Ngày đầu tiên, flo sẽ ăn \(2\) hộp kẹo đầu tiên có độ phong phú là \(2\). Khi đó, cậu chỉ còn \(1\) hộp kẹo là \([2]\). Đến ngày thứ hai, flo sẽ ăn \(1\) hộp kẹo đầu tiên có độ phong phú là \(1\). Khi đó, flo sẽ ăn hết kẹo.
    • Ngày đầu tiên, flo sẽ ăn \(1\) hộp kẹo đầu tiên có độ phong phú là \(1\). Khi đó, cậu chỉ còn \(2\) hộp kẹo là \([3, 2]\). Đến ngày thứ hai, flo sẽ ăn \(2\) hộp kẹo đầu tiên có độ phong phú là \(2\). Khi đó, flo sẽ ăn hết kẹo.
    • Mỗi ngày flo có thể ăn \(1\) hộp kẹo với độ phong phú là \(1\). Sau \(3\) ngày, flo sẽ ăn hết kẹo.
    • Ngày đầu tiên, flo sẽ ăn hết cả \(3\) hộp kẹo có độ phong phú là \(2\).
  • Vì vậy, flo có tổng cộng \(4\) cách ăn kẹo khác nhau thỏa mãn cậu.

Test 2

Input
6 2 4
1 2 1 3 2 2
Output
3
Note
  • Cách ăn kẹo mà thỏa mãn được nhu cầu của flo như sau.
    • Ngày đầu tiên, flo sẽ ăn \(2\) hộp kẹo đầu tiên có độ phong phú là \(2\). Khi đó, cậu chỉ còn \(4\) hộp kẹo là \([1, 3, 2, 2]\). Đến ngày thứ hai, flo sẽ ăn \(4\) hộp kẹo đầu tiên có độ phong phú là \(3\). Khi đó, flo sẽ ăn hết kẹo.
    • Ngày đầu tiên, flo sẽ ăn \(3\) hộp kẹo đầu tiên có độ phong phú là \(2\). Khi đó, cậu chỉ còn \(3\) hộp kẹo là \([3, 2, 2]\). Đến ngày thứ hai, flo sẽ ăn \(3\) hộp kẹo đầu tiên có độ phong phú là \(2\). Khi đó, flo sẽ ăn hết kẹo.
    • Ngày đầu tiên, flo sẽ ăn hết cả \(6\) hộp kẹo có độ phong phú là \(3\).
  • Vì vậy, flo có tổng cộng \(3\) cách ăn kẹo khác nhau thỏa mãn cậu.

Nguồn: TLEoj - Bedan Contest #03


Bình luận

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