JOI 2021 - Vòng loại 1 - Đợt 2

Bộ đề bài

# 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

1. JOI 2021 - Homecoming

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

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ữ liệu vào

Dòng duy nhất chứa ba số nguyên \(A, B, C\), cách nhau bởi dấu cách.

Dữ liệu ra

Nếu Bibako có thể gặp Bitaro, in ra \(1\); ngược lại, in ra \(0\).

Ràng buộc

  • \(1 \le A < B \le 100\).
  • \(1 \le C \le 100\).
  • \(A, B, C\) là các số nguyên.

Ví dụ

Ví dụ 1

Input
2 5 3
Output
1
Giải thích

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

Input
20 22 19
Output
0
Giải thích

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

Input
24 30 30
Output
0

Ví dụ 4

Input
1 100 99
Output
1

Nguồn

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.

2. JOI 2021 - Bitaro and IOI

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

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:

  • \(1 \le i < j < k \le N\).
  • Ký tự thứ \(i\) của \(S\)I.
  • Ký tự thứ \(j\) của \(S\)O.
  • Ký tự thứ \(k\) của \(S\)I.

Dữ liệu vào

Dòng thứ nhất chứa số nguyên \(N\).

Dòng thứ hai chứa xâu \(S\).

Dữ liệu ra

Nếu IOI là một dãy con của \(S\), in ra Yes; ngược lại, in ra No.

Ràng buộc

  • \(1 \le N \le 100\).
  • \(S\) là xâu 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.

Ví dụ

Ví dụ 1

Input
8
BITAROOI
Output
Yes
Giải thích

Các bộ ba \((2, 6, 8)\)\((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

Input
6
BBOOII
Output
No
Giải thích

Không có dãy con nào của \(S\) bằng IOI, nên in ra No.

Ví dụ 3

Input
5
IOIOI
Output
Yes

Ví dụ 4

Input
9
RATRATRAT
Output
No

Ví dụ 5

Input
1
A
Output
No

Nguồn

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.

3. JOI 2021 - Split

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

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}\)\(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ữ liệu vào

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.

Dữ liệu ra

In ra hai dòng:

  • Dòng thứ nhất chứa tổng các giá trị đứng trước phần tử lớn nhất của \(A\).
  • Dòng thứ hai chứa tổng các giá trị đứng sau phần tử lớn nhất của \(A\).

Ràng buộc

  • \(1 \le N \le 100\).
  • \(1 \le A_i \le 2000\) với mọi \(1 \le i \le N\).
  • \(A_i \ne A_j\) với mọi \(1 \le i < j \le N\).
  • Các phần tử của \(A\) là số nguyên.

Ví dụ

Ví dụ 1

Input
5
9 3 16 8 1
Output
12
9
Giải thích

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\)\(12\); tổng các giá trị \(8, 1\) đứng sau \(16\)\(9\). Vì vậy, in ra \(12\) rồi \(9\), mỗi số trên một dòng.

Ví dụ 2

Input
6
121 8 5 4 1 3
Output
0
21
Giải thích

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

Input
1
2000
Output
0
0
Giải thích

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

Input
10
9 12 30 63 55 8 10 1 27 13
Output
51
114

Nguồn

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.