HSG THPT Vòng 1 Hà Nội 2022


Tích bốn số

Nộp bài
Điểm: 5 Thời gian: 1.0s Bộ nhớ: 1G Input: TBS.INP Output: TBS.OUT

Nguồn: Học sinh Giỏi THPT Hà Nội năm 2021 - 2022

Cho bốn số thực \(A, B, C, D\). Hỏi tích của bốn số đó là số dương, số âm hay số \(0\)?

Input

Dữ liệu vào từ tệp văn bản TBS.INP:

  • Gồm bốn dòng, mỗi dòng chứa một số thực lần lượt là \(A\), \(B\), \(C\), \(D\).
  • Các số thực này thỏa mãn \(-10^{18} \le A, B, C, D \le 10^{18}\).

Output

Kết quả ra tệp văn bản TBS.OUT:

  • Một số nguyên duy nhất là:
  • \(1\) nếu tích bốn số là số dương;
  • \(-1\) nếu tích bốn số là số âm;
  • \(0\) nếu tích bốn số là số \(0\).

Examples

Test 1

Input
20.21
-1.2
-2.3
1.0
Output
1

Test 2

Input
5.0
-8.9
0.0
123.456
Output
0

Dãy kí tự

Nộp bài
Điểm: 5 Thời gian: 1.0s Bộ nhớ: 1G Input: DKT.INP Output: DKT.OUT

Nguồn: Học sinh Giỏi THPT Hà Nội năm 2021 - 2022

Cho một robot được lập trình di chuyển trên một hàng ngang gồm các ô vuông. Mỗi ô được đặt tên bằng các kí tự theo thứ tự từ \('𝐴'\) đến \('𝑍'\) và được lặp lại vô hạn. Ban đầu robot xuất phát ở ô thứ \(1\) có tên là \('𝐴'\) và nhảy đến các ô tiếp theo quy luật: lần \(1\) nhảy \(1\) ô, lần \(2\) nhảy \(2\) ô, lần \(3\) nhảy \(3\) ô, \(…\), lần \(𝑁\) nhảy \(𝑁\) ô. Vậy sau \(𝑁\) lần nhảy thì robot đang ở ô nào?

Input

Dữ liệu vào từ tệp văn bản DKT.INP:

  • Gồm một số nguyên dương \(N\) là số lần nhảy của robot \((N \le 10^9)\).

Output

Kết quả ra tệp văn bản DKT.OUT:

  • Một kí tự duy nhất là tên của ô sau \(N\) lần robot nhảy.

Example

Test 1
Input
1
Output
B

Note

  • Sau \(1\) lần nhảy, robot ở ô thứ \(2\), có tên là kí tự \(B\).
Test 2
Input
4
Output
K

Note

  • Sau \(4\) lần nhảy, robot ở ô thứ \(11\), có tên là kí tự \(K\).
Test 3
Input
7
Output
C

Note

  • Sau \(7\) lần nhảy, robot ở ô thứ \(29\), có tên là kí tự \(C\).

Constraint

  • \(60\%\) số test ứng với \(60\%\) số điểm của bài thoả mãn: \(𝑁 ≤ 10^3;\)
  • \(20\%\) số test khác ứng với \(20\%\) số điểm của bài thoả mãn: \(𝑁 ≤ 10^6;\)
  • \(20\%\) số test còn lại ứng với 20% số điểm của bài không có ràng buộc gì thêm.

Điểm chung

Nộp bài
Điểm: 4 Thời gian: 1.0s Bộ nhớ: 1G Input: DC.INP Output: DC.OUT

Nguồn: Học sinh Giỏi THPT Hà Nội năm 2021 - 2022

Trên trục số \(Ox\), cho \(𝑁\) đoạn thẳng, mỗi đoạn thẳng được xác định bởi hai điểm đầu và cuối là hai số nguyên. Một điểm \(𝑀\) được gọi là nằm trong đoạn thẳng \(𝐴𝐵\) nếu \(𝐴 \leq 𝑀 \leq 𝐵\).

Yêu cầu: Đếm xem có bao nhiêu điểm có toạ độ nguyên nằm trong đúng \(𝐾\) đoạn thẳng.

Input

Dữ liệu vào từ tệp văn bản DC.INP:

  • Dòng đầu tiên gồm hai số nguyên \(𝑁\)\(𝐾\) \((1 \leq 𝐾 \leq 𝑁 \leq 10^5);\)
  • \(𝑁\) dòng sau, mỗi dòng gồm hai số nguyên \(𝑎, 𝑏\) mô tả hai điểm đầu và cuối của đoạn thẳng \((1 \leq 𝑎 \leq 𝑏 \leq 10^{18})\).

Output

Kết quả ra tệp văn bản DC.OUT:

  • Một số nguyên duy nhất là số lượng điểm có toạ độ nguyên nằm trong đúng \(𝐾\) đoạn thẳng.

Example

Test 1
Input
3 2
1 5
2 8
3 7
Output
3

Note

  • Toạ độ của \(3\) điểm nằm trong đúng \(2\) đoạn thẳng là: \(2, 6, 7\).
  • Điểm có toạ độ \(2\) nằm trong \(2\) đoạn thẳng: đầu tiên và thứ hai.
  • Điểm có toạ độ \(6, 7\) nằm trong \(2\) đoạn thẳng: thứ hai và thứ ba.
Test 2
Input
3 1
1 5
2 8
3 7
Output
2

Note

  • Toạ độ của \(2\) điểm nằm trong đúng \(1\) đoạn thẳng là: \(1, 8\).
  • Điểm có toạ độ \(1\) chỉ nằm trong đoạn thẳng đầu tiên.
  • Điểm có toạ độ \(8\) chỉ nằm trong đoạn thẳng thứ ba.
Test 3
Input
3 3
1 5
2 8
3 7
Output
3

Note

  • Toạ độ của \(3\) điểm nằm trong cả \(3\) đoạn thẳng là: \(3,4,5\).

Constraint

  • \(50\%\) số test ứng với \(50\%\) số điểm của bài thoả mãn: \(a,b \leq 10^3;\)
  • \(30\%\) số test khác ứng với \(30\%\) số điểm của bài thoả mãn: \(K = N;\)
  • \(20\%\) số test còn lại ứng với \(20\%\) số điểm của bài không có ràng buộc gì thêm.

Bệnh viện

Nộp bài
Điểm: 3 Thời gian: 1.0s Bộ nhớ: 1G Input: BV.INP Output: BV.OUT

Nguồn: Học sinh Giỏi THPT Hà Nội năm 2021 - 2022

Trong một đất nước có \(N\) thành phố được đánh số từ \(1\) đến \(N\), các thành phố được nối với nhau bởi \(N - 1\) con đường hai chiều, đảm bảo hai thành phố bất kì có thể đi được đến nhau. Có \(M\) thành phố đang có dịch bệnh. Người ta muốn chọn thành phố để xây dựng bệnh viện dã chiến sao cho: chỉ số an toàn từ thành phố đó đến thành phố đang có dịch bệnh bất kì đều không lớn hơn \(K\) \((K\) là một số cho trước và chỉ số an toàn giữa hai thành phố \(X\)\(Y\) được tính bằng tổng số con đường trên đường đi từ \(X\) đến \(Y)\).

Yêu cầu: Em hãy lập trình để tính xem có thể xây dựng bệnh viện dã chiến ở bao nhiêu thành phố?

Input

Dữ liệu vào từ tệp văn bản BV.INP:

  • Dòng đầu tiên gồm ba số nguyên dương \(N, M, K\) \((1 \leq K \leq M \leq N \leq 10^5)\) mô tả số lượng thành phố, số lượng thành phố đang có dịch bệnh và số \(K;\)
  • \(N - 1\) dòng sau gồm hai số nguyên \(u\)\(v\) mô tả có con đường nối hai thành phố thứ \(u\) và thứ \(v\) \((1 \leq u, v \leq N);\)
  • Dòng tiếp theo gồm \(M\) số nguyên \(x\) mô tả những thành phố đang có dịch bệnh \((1 \leq x \leq N)\).

Output

Kết quả ra tệp văn bản BV.OUT:

  • Gồm một số nguyên duy nhất là số thành phố có thể thoả mãn để xây dựng bệnh viện dã chiến (thành phố đang có dịch bệnh cũng có thể xây dựng bệnh viện dã chiến).

Example

Test 1
Input
6 2 2
1 2
3 2
3 5
4 2
5 6
1 3
Output
4

Note

  • \(4\) thành phố có thể xây dựng bệnh viện dã chiến: \(1, 2, 3, 4\).

Test 2
Input
6 3 2
1 2
3 2
3 5
4 1
5 6
1 3 5
Output
2

Note

  • \(2\) thành phố có thể xây dựng bệnh viện dã chiến: \(2, 3\). Thành phố \(4\) không xây dựng được bệnh viện dã chiến vì chỉ số an toàn từ thành phố \(4\) đến thành phố đang dịch bệnh \(5\)\(4\).

Constraint

  • \(40\%\) số test ứng với \(40\%\) số điểm của bài thoả mãn: \(N \leq 500;\)
  • \(20\%\) số test khác ứng với \(20\%\) số điểm của bài thoả mãn: \(N \leq 10^4;\)
  • \(20\%\) số test khác ứng với \(20\%\) số điểm của bài thoả mãn: mỗi thành phố chỉ có đường đi trực tiếp đến tối đa hai thành phố khác\(;\)
  • \(20\%\) số test còn lại ứng với \(20\%\) số điểm của bài không có ràng buộc gì thêm.

Giao hàng

Nộp bài
Điểm: 3 Thời gian: 1.0s Bộ nhớ: 1G Input: GH.INP Output: GH.OUT

Nguồn: Học sinh Giỏi THPT Hà Nội năm 2021 - 2022

Cuối ngày làm việc của một công ty giao hàng, nhân viên tranh thủ giao đơn hàng cuối trước khi trở về nhà. Công ty có \(N\) nhân viên giao hàng và \(T\) yêu cầu chở hàng, mỗi nhân viên giao hàng thực hiện không quá một yêu cầu chở hàng. Có hai kho hàng, nhân viên giao hàng cần đến một trong hai kho này lấy hàng rồi di chuyển đến địa điểm cần giao. Cho biết khoảng cách từ \(N\) nhân viên đến hai kho hàng và khoảng cách từ hai kho hàng đến \(T\) địa điểm nhận hàng. Tìm tổng khoảng cách nhỏ nhất để thực hiện được toàn bộ \(𝑇\) yêu cầu chở hàng.

Yêu cầu: Em hãy tìm cách sắp xếp các nhân viên giao hàng sao cho tổng khoảng cách nhân viên phải di chuyển là nhỏ nhất để thực hiện được toàn bộ \(T\) yêu cầu chở hàng.

Input

Dữ liệu vào từ tệp văn bản GH.INP:

  • Dòng đầu tiên gồm hai số nguyên dương \(N\)\(T\) \((1 \leq T \leq N \leq 10^5);\)
  • Dòng thứ hai gồm \(N\) số nguyên \(a1_i\) là khoảng cách của nhân viên thứ \(i\) đến kho \(1\) \((1 \leq i \leq N, \ 0 \leq a1_i \leq 10^9);\)
  • Dòng thứ ba gồm \(N\) số nguyên \(a2_i\) là khoảng cách của nhân viên thứ \(i\) đến kho \(2\) \((1 \leq i \leq N, \ 0 \leq a2_i \leq 10^9);\)
  • Dòng thứ bốn gồm \(T\) số nguyên \(b1_j\) là khoảng cách từ kho \(1\) đến địa điểm nhận hàng thứ \(j\) \((1 \leq j \leq T, \ 0 \leq b1_j \leq 10^9);\)
  • Dòng thứ năm gồm \(T\) số nguyên \(b2_j\) là khoảng cách từ kho \(2\) đến địa điểm nhận hàng thứ \(j\) \((1 \leq j \leq T, \ 0 \leq b2_j \leq 10^9).\)

Output

Kết quả ra tệp văn bản GH.OUT:

  • Gồm một số nguyên duy nhất là tổng khoảng cách nhỏ nhất để thực hiện được toàn bộ \(T\) yêu cầu chở hàng.

Example

Test 1
Input
3 2
1 2 2
7 5 3
3 5
2 3
Output
10

Note

  • Nhân viên giao hàng thứ \(1\), đến kho \(1\), giao hàng đến địa điểm thứ \(1\). Khoảng cách là \(1 + 3 = 4\).
  • Nhân viên giao hàng thứ \(3\), đến kho \(2\), giao hàng đến địa điểm thứ \(2\). Khoảng cách là \(3 + 3 = 6\).
  • Tổng khoảng cách là \(10\).

Constraint

  • \(20\%\) số test ứng với \(20\%\) số điểm của bài thoả mãn: khoảng cách từ nhân viên giao hàng đến các kho bằng nhau và khoảng cách từ các kho đến địa điểm giao hàng bằng nhau, tức là:
    \(a1_1 = a2_1, \ a1_2 = a2_2, \ldots, \ a1_N = a2_N;\)
    \(b1_1 = b2_1, \ b1_2 = b2_2, \ldots, \ b1_T = b2_T;\)
  • \(10\%\) số test khác ứng với \(10\%\) số điểm của bài thoả mãn: khoảng cách từ nhân viên giao hàng đến các kho bằng nhau.
  • \(20\%\) số test khác ứng với \(20\%\) số điểm của bài thoả mãn: \(T \leq 2;\)
  • \(10\%\) số test khác ứng với \(10\%\) số điểm của bài thoả mãn: \(N \leq 10;\)
  • \(10\%\) số test khác ứng với \(10\%\) số điểm của bài thoả mãn: \(N \leq 100;\)
  • \(10\%\) số test khác ứng với \(10\%\) số điểm của bài thoả mãn: \(T \leq 100;\)
  • \(20\%\) số test còn lại ứng với \(20\%\) số điểm của bài không có ràng buộc gì thêm.