| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | JOI 2021 - Homecoming | 100 (p) | 2.0s | 1G |
| 2 | JOI 2021 - Bitaro and IOI | 100 (p) | 2.0s | 1G |
| 3 | JOI 2021 - Split | 100 (p) | 2.0s | 1G |
Hải ly Bitaro quyết định về thăm nhà. Bitaro sẽ đến nhà vào buổi sáng sau \(A\) ngày tính từ hôm nay và rời nhà vào buổi sáng sau \(B\) ngày tính từ hôm nay. Nghe tin đó, hải ly Bibako quyết định đến nhà Bitaro vào buổi chiều sau \(C\) ngày tính từ hôm nay. Hãy xác định Bibako có thể gặp Bitaro hay không.
Dòng duy nhất chứa ba số nguyên \(A, B, C\), cách nhau bởi dấu cách.
Nếu Bibako có thể gặp Bitaro, in ra \(1\); ngược lại, in ra \(0\).
Ví dụ 1
2 5 3
1
Bitaro ở nhà từ buổi sáng sau \(2\) ngày đến buổi sáng sau \(5\) ngày. Bibako đến vào buổi chiều sau \(3\) ngày, nên có thể gặp Bitaro. Vì vậy, in ra \(1\).
Lịch về thăm nhà của Bitaro và thời điểm Bibako đến được minh họa dưới đây. Các số chỉ số ngày tính từ hôm nay; khoảng Bitaro ở nhà bắt đầu vào buổi sáng ngày \(2\) và kết thúc vào buổi sáng ngày \(5\).
Ví dụ 2
20 22 19
0
Bitaro ở nhà từ buổi sáng sau \(20\) ngày đến buổi sáng sau \(22\) ngày. Bibako đến vào buổi chiều sau \(19\) ngày, khi Bitaro chưa về nhà. Vì vậy, Bibako không thể gặp Bitaro và cần in ra \(0\).
Ví dụ 3
24 30 30
0
Ví dụ 4
1 100 99
1
Bản dịch tiếng Việt từ đề gốc tiếng Nhật của Ủy ban Olympic Tin học Nhật Bản. Đề gốc và bản dịch được cung cấp theo giấy phép CC BY-SA 4.0.
Cho xâu \(S\) có độ dài \(N\). Mỗi ký tự của \(S\) là một trong các ký tự B, I, T, A, R, O.
Hãy xác định có thể chọn một dãy con gồm các ký tự của \(S\) theo đúng thứ tự xuất hiện, không nhất thiết liên tiếp, để được xâu IOI hay không. Nói cách khác, hãy xác định có tồn tại bộ ba số nguyên \((i, j, k)\) thỏa mãn tất cả các điều kiện sau hay không:
I.O.I.Dòng thứ nhất chứa số nguyên \(N\).
Dòng thứ hai chứa xâu \(S\).
Nếu IOI là một dãy con của \(S\), in ra Yes; ngược lại, in ra No.
B, I, T, A, R, O.Ví dụ 1
8
BITAROOI
Yes
Các bộ ba \((2, 6, 8)\) và \((2, 7, 8)\) đều thỏa mãn các điều kiện đối với \((i, j, k)\). Do đó, IOI là một dãy con của \(S\), nên in ra Yes.
Ví dụ 2
6
BBOOII
No
Không có dãy con nào của \(S\) bằng IOI, nên in ra No.
Ví dụ 3
5
IOIOI
Yes
Ví dụ 4
9
RATRATRAT
No
Ví dụ 5
1
A
No
Bản dịch tiếng Việt từ đề gốc tiếng Nhật của Ủy ban Olympic Tin học Nhật Bản. Đề gốc và bản dịch được cung cấp theo giấy phép CC BY-SA 4.0.
Cho dãy số nguyên \(A = (A_1, A_2, \ldots, A_N)\) có độ dài \(N\). Tất cả các giá trị trong dãy \(A\) đôi một khác nhau.
Chia dãy tại phần tử lớn nhất. Hãy in ra tổng các giá trị đứng trước phần tử lớn nhất và tổng các giá trị đứng sau phần tử lớn nhất. Cụ thể, nếu phần tử lớn nhất là \(A_x\), hãy in ra \(A_1 + A_2 + \cdots + A_{x-1}\) và \(A_{x+1} + A_{x+2} + \cdots + A_N\).
Nếu không có phần tử nào đứng trước phần tử lớn nhất thì tổng phía trước bằng \(0\). Tương tự, nếu không có phần tử nào đứng sau phần tử lớn nhất thì tổng phía sau bằng \(0\).
Dòng thứ nhất chứa số nguyên \(N\).
Dòng thứ hai chứa \(N\) số nguyên \(A_1, A_2, \ldots, A_N\), cách nhau bởi dấu cách.
In ra hai dòng:
Ví dụ 1
5
9 3 16 8 1
12
9
Phần tử lớn nhất của dãy là \(16\). Tổng các giá trị \(9, 3\) đứng trước \(16\) là \(12\); tổng các giá trị \(8, 1\) đứng sau \(16\) là \(9\). Vì vậy, in ra \(12\) rồi \(9\), mỗi số trên một dòng.
Ví dụ 2
6
121 8 5 4 1 3
0
21
Phần tử lớn nhất của dãy là \(121\). Không có phần tử nào đứng trước \(121\), nên trước hết in ra \(0\). Sau đó in ra \(21\), là tổng các giá trị \(8, 5, 4, 1, 3\) đứng sau \(121\).
Ví dụ 3
1
2000
0
0
Có thể không có phần tử nào ở cả phía trước lẫn phía sau phần tử lớn nhất.
Ví dụ 4
10
9 12 30 63 55 8 10 1 27 13
51
114
Bản dịch tiếng Việt từ đề gốc tiếng Nhật của Ủy ban Olympic Tin học Nhật Bản. Đề gốc và bản dịch được cung cấp theo giấy phép CC BY-SA 4.0.