Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

Dễ

Cà chua

100 điểm 0% AC 0 đã giải

root

Những người làm vườn có kinh nghiệm nhận thấy rằng nếu một quả cà chua chín đỏ (R) được đặt giữa những quả cà chua xanh (G) đã hái thì những quả cà chua xanh lân cận sẽ chín sau đúng một ngày.

Có \(n\) quả cà chua được xếp cạnh nhau thành một hàng, đánh số từ \(1\) đến \(n\).
Ba trong số những quả cà chua này đã chín, vị trí của chúng trong hàng là \(m_1, m_2, m_3\).

Yêu cầu: Hãy tìm số cà chua xanh còn lại sau \(d\) ngày.

Input

  • Đọc từ tệp văn bản CAU1.INP gồm một dòng chứa năm số nguyên \(n, m_1, m_2, m_3, d\) \((4 \leq n \leq 10^{16}, 1 \leq m_i \leq n, i = 1,2,3, 1 \leq d \leq 10^{16})\).

  • Các số cách nhau bởi dấu cách.

Output

  • Ghi ra tệp văn bản CAU1.OUT gồm một dòng ghi một số là số cà chua xanh còn lại sau \(d\) ngày.

Example

Test 1

Input
19 2 13 15 2
Output
8
Note

Với \(n = 19\), \(m_1 = 2\), \(m_2 = 13\), \(m_3 = 15\), và \(d = 2\).

Hàng cà chua ban đầu:

\[ \texttt{G\textbf{R}GGGGGGGGGG\textbf{R}G\textbf{R}GGGG} \]

Sau ngày thứ nhất:

\[ \texttt{\textbf{RRR}GGGGGGGG\textbf{RRRRR}GGG} \]

Sau ngày thứ hai:

\[ \texttt{\textbf{RRRR}GGGGGG\textbf{RRRRRRR}GG} \]

Vậy sau ngày còn lại 8 quả cà chua xanh.

Test 2

Input
50 1 50 25 7
Output
19

Scoring

  • \(50\%\) số điểm có \(n \leq 10^9\).

  • \(50\%\) số điểm còn lại không có ràng buộc gì thêm.

Dễ

Thuê xe đạp tham quan

100 điểm 0% AC 0 đã giải

staffagent

Một đoàn gồm \(N\) bạn nhỏ muốn thuê xe đạp để đi tham quan, mỗi bạn dùng tối đa một chiếc xe. Cửa hàng có \(M\) chiếc xe, chiếc thứ \(j\) có giá thuê \(p_j\).

Bạn thứ \(i\) mang theo \(A_i\) đồng tiền riêng, khoản này chỉ được dùng để trả cho chính chiếc xe mà bạn đó thuê. Ngoài ra ban tổ chức có một quỹ chung \(K\) đồng, quỹ này có thể bù phần còn thiếu cho bất kỳ bạn nào, nhưng tổng số tiền lấy từ quỹ không được vượt quá \(K\). Mỗi xe chỉ được một bạn thuê.

Hãy xác định:

  1. Số lượng bạn tối đa có thể thuê được xe.
  2. Với số lượng tối đa đó, tổng số tiền tối thiểu phải lấy từ quỹ chung.

Input

  • Dòng đầu tiên chứa ba số nguyên \(N\), \(M\) và \(K\).
  • Dòng thứ hai chứa \(N\) số nguyên \(A_1, \dots, A_N\).
  • Dòng thứ ba chứa \(M\) số nguyên \(p_1, \dots, p_M\).

Output

In ra hai số nguyên cách nhau một dấu cách: số bạn tối đa thuê được xe và số tiền tối thiểu lấy từ quỹ chung.

Constraints

  • \(1 \le N, M \le 100\,000\).
  • \(0 \le A_i, p_j \le 10^9\).
  • \(0 \le K \le 10^9\).

Sample Input

4 3 1
5 2 8 1
4 3 9

Sample Output

2 0

Explanation

Nếu cho 3 bạn thuê xe thì cần ít nhất \(2\) đồng từ quỹ (vượt quá \(K=1\)). Với 2 bạn: bạn có \(8\) đồng thuê xe giá \(4\) và bạn có \(5\) đồng thuê xe giá \(3\), không cần lấy đồng nào từ quỹ.

Dễ

Chiếc mũi gỗ

100 điểm 0% AC 0 đã giải

staffagent

Ông Geppetto có \(N\) thanh gỗ, thanh thứ \(i\) dài \(A_i\). Để chế tác chiếc mũi cho Pinocchio, ông lặp lại quy trình sau cho tới khi chỉ còn đúng một thanh:

  1. Chọn ra hai thanh ngắn nhất hiện có, gọi độ dài của chúng là \(p \le q\) (nếu có nhiều thanh cùng độ dài thì chọn tuỳ ý, kết quả không phụ thuộc cách chọn).
  2. Nếu \(p = q\) thì bỏ đi một trong hai thanh.
  3. Nếu \(p < q\) thì cắt bớt thanh dài \(q\) đi một đoạn dài \(p\), tức là thanh đó còn lại độ dài \(q - p\).

Khi chỉ còn một thanh, thanh đó là chiếc mũi. Hãy tính độ dài của nó.

Input

  • Dòng 1: số nguyên dương \(N\).
  • Dòng 2: \(N\) số nguyên dương \(A_1, A_2, \dots, A_N\).

Output

  • In ra một số nguyên là độ dài thanh gỗ cuối cùng.

Constraints

  • \(1 \le N \le 100000\).
  • \(1 \le A_i \le 10^9\).

Sample Input

4
12 18 30 8

Sample Output

2

Explanation

Quy trình giữ nguyên ước chung lớn nhất của cả nhóm nên kết quả là \(\gcd(12, 18, 30, 8) = 2\).

Dễ

Vòng lặp

100 điểm 0% AC 0 đã giải

root

Xét một hàm code được viết theo dạng sau:

int code() {
    int ret = 0;
    for (int a = X1; a <= Y1; ++a)
    for (int b = X2; b <= Y2; ++b)
    ...
    for (int <N-th> = XN; <N-th> <= YN; ++<N-th>)
        ret = (ret + 1) \% 1000000007;
    return ret;
}

Có tổng cộng \(N\) vòng lặp lồng nhau.
Vòng lặp thứ \(i\) chạy từ \(X_i\) đến \(Y_i\), trong đó mỗi \(X_i\) hoặc \(Y_i\) có thể:

  • là một số nguyên dương không vượt quá \(100000\), hoặc
  • là tên của một biến thuộc vòng lặp ngoài (ví dụ: a, b, …).

Mỗi vòng lặp đều có ít nhất một trong hai giá trị \(X_i\) hoặc \(Y_i\) là số nguyên (không phải tên biến).
Các biến vòng lặp được đặt tên lần lượt theo bảng chữ cái: vòng 1 là a, vòng 2 là b, ..., vòng \(N\) là chữ cái thứ \(N\).

Yêu cầu của bài toán là tính tổng số lần câu lệnh ret = (ret + 1) % MOD được thực thi.

Kết quả phải được lấy modulo \(10^9 + 7\).

\InputFile

  • Dòng đầu chứa số nguyên \(N \ (1 \le N \le 26)\).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa \(X_i\) và \(Y_i\), được phân tách bởi dấu cách.
    Mỗi giá trị có thể là một số nguyên dương \(\le 100000\) hoặc là tên biến
    a, b, ..., tương ứng với các vòng ngoài.
    Nếu cả hai đều là số, đảm bảo \(X_i \le Y_i\).

\OutputFile
In ra một số nguyên --- giá trị trả về của hàm.

\Scoring

  • Subtask 1 (15 điểm): \(n \le 5\) và mọi \(X_i, Y_i\) (nếu là số) có giá trị không quá \(30\).
  • Subtask 2 (15 điểm): Mọi \(X_i\) và \(Y_i\) đều là số.
  • Subtask 3 (20 điểm): \(X_1 = X_2 = \dots = X_n = 1\)
    và với mọi \(i > 1\), \(Y_i\) là chữ cái thứ \(i-1\) trong bảng chữ cái tiếng Anh
    (nói cách khác, \(Y_2 = \texttt{a}\), \(Y_3 = \texttt{b}\), \(Y_4 = \texttt{c}\), …).
  • Subtask 4 (20 điểm): Với mọi \(i > 1\), \(Y_i\) là chữ cái.
  • Subtask 5 (30 điểm): Không có ràng buộc gì thêm.

\Examples

\beginexample
\exmp
2
1 2
a 3

5

\exmp
3
2 3
1 2
1 a

10

\exmp
3
1 2
a 3
1 b

11

\endexample

Xem thêm