PRE THI HUYỆN #08

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Hạnh phúc 25 (p) 1.0s 1G
2 Chợ nổi 30 (p) 1.0s 1G
3 Cửa sổ 25 (p) 1.0s 1G
4 Tính tổng dãy số 30 (p) 1.0s 1G

1. Hạnh phúc

Điểm: 25 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: hanhphuc.inp Output: hanhphuc.out

Một trường học có \(n\) học sinh, học sinh thứ \(i\) có độ hạnh phúc \(h_{i}\) Nếu hai học sinh \(i\)\(j\) bắt tay nhau (\(i ≠ j,1 \leq i, j \leq n\)) sẽ tạo ra độ hạnh phúc là \(h_{i}*h_{j}\) Học sinh thứ \(i\) và học sinh thứ \(j\) chỉ được tính là bắt tay nhau một lần duy nhất.

Yêu cầu:

Tính tổng độ hạnh phúc của toàn trường nếu tất cả học sinh đều bắt tay nhau.

Dữ liệu:

Vào từ tập HANHPHUC.INP gồm:

  • Dòng dầu là số nguyên \(n\) là số học sinh toàn trường (\(2 \leq n \leq 30000\))
  • Dòng tiếp theo chứa \(n\) số nguyên dương \(h_{1}, h_{2} ,...,h_n\) lần lượt là độ hạnh phúc của từng học sinh (\(0 < h_{i} \leq 30000\))

Kết quả:

Ghi ra tập HANHPHUC.OUT một số duy nhất là tổng độ hạnh phúc của toàn trường nếu tất cả học sinh đều bắt tay nhau.

Ví dụ:
Input
4
2 5 1 2
Output
33

Giải thích

Tổng độ hạnh phúc là: 2 * 5 + 2 * 1 + 2 * 2 + 5 * 1 + 5 * 2 + 1 * 2 = 33

Ràng buộc:

  • Có 80% số test ứng với 80% số điểm của bài có \(n, h_{i} \leq 3000\)
  • Có 20% số test ứng với 20% số điểm của bài có \(n, h_{i} \leq 30000\)

2. Chợ nổi

Điểm: 30 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: chonoi.inp Output: chonoi.out

Chợ nổi là một nét văn hóa lâu đời của Khu vực Đồng bằng sông Cửu Long, cũng là điểm du lịch đẹp mà nhiều đoàn tham quan ghé thăm. Đến với Chợ nổi bạn có thể thuê những chiếc xuồng tham quan mua sắm và thưởng thức các món ăn ngon đậm chất miền Tây.

Một đoàn khách tham quan có \(n\) người được đánh số thứ tự từ \(1\) đến \(n\), du khách thứ \(i\) có cân nặng là \(a_i\). Do hiện tại có nhiều du khách nên đoàn tham quan chỉ thuê được một chiếc xuồng có tải trọng là \(k\) và chỉ chở được hai du khách có cân nặng không được vượt quá \(k\) để đảm bảo an toàn cho du khách. Hướng dẫn viên muốn bố trí cho hai du khách xuống xuồng trước, các du khách còn lại sẽ chờ để xuống xuồng tham quan trong các lượt tiếp theo hoặc có thể tản bộ dọc theo bờ sông để tham quan và thư giãn.

Yêu cầu:

Hãy cho biết có bao nhiêu cách chọn ra hai du khách bố trí xuống xuồng để tham quan mà vẫn phải đảm bảo an toàn (tổng cân nặng không vượt quá k).

Dữ liệu vào:

Cho từ tệp văn bản CHONOI.INP gồm

  • Dòng thứ nhất ghi hai số nguyên dương \(n, k\) (\(1\leq n, k \leq 10 ^ 6\)) .
  • Dòng thứ hai ghi \(n\) số nguyên dương \(a_i, a_2,..., a_n\) (\(1 \leq a_{i} \leq 10 ^ 6); i =1..n\))

Kết quả:

Ghi vào tệp văn bản CHONOI.OUT gồm một dòng ghi một số nguyên dương là số cách chọn ra hai du khách bố trí xuống xuồng để tham quan mà vẫn phải đảm bảo an toàn.

Ví dụ:
CHONOI.INP
5 90
40 45 55 52 42
CHONOI.OUT
3

3. Cửa sổ

Điểm: 25 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: cuaso.inp Output: cuaso.out

Tí đang chơi trò ghép nhà từ những que tính. Phần căn nhà đã được ghép xong, chỉ còn thiếu một cửa sổ hình chữ nhật. Hiện tại, Tí còn dư \(n\) que tính, các que tính được đánh số thứ tự từ \(1\) tới \(n\), que thứ \(i\) có độ dài là \(a_{i}\) (đơn vị chiều dài). Tí muốn ghép được cửa sổ càng to càng tốt. Một cửa sổ sẽ được ghép bởi 4 que tính.

Yêu cầu:

Hãy cho biết chu vi của cửa sổ lớn nhất mà Tí có thể ghép được.
Lưu ý: Không bẻ gãy hay chắp nối để thay đổi chiều dài que tỉnh và hình vuông cũng được xem là hình chữ nhật.

Dữ liệu vào:

Từ tệp văn bản CUASO.INP gồm 2 dòng:

  • Dòng đầu chứa số nguyên dương \(n, (1 \leq n \leq 10 ^ 6)\)
  • Dòng thứ hai chứa n số nguyên dương \(a_{i}(1 \leq a_{i} \leq 10 ^ 6; 1 \leq i \leq n)\)

Kết quả:

Ghi ra tệp văn bản CUASO.OUT số nguyên duy nhất là chu vi lớn nhất của cửa sổ có thể ghép được. Nếu không thể ghép được thì ghi -1.

Ví dụ 1:
CUASO.INP
7
3 8 4 3 8 1 1
CUASO.OUT
22
Giải thích
Có 3 cách ghép thành cửa số là cửa số có chiều dài và chiều rộng như sau: (8, 3) (3, 1) (8, 1) Chu vi lớn nhất là (3 + 8) * 2 = 22
Ví dụ 2:
CUASO.INP
5
4 9 1 9 3
CUASO.OUT
-1
Giải thích
Không thể ghép thành cửa sổ nào cả.

Ràng buộc:

  • 30% số test tương ứng với 30% số điểm có \(n \leq 50\)
  • 40% số test tương ứng với 40% số điểm có \(50 < n \leq 1000\)
  • 30% số test còn lại tương ứng với 30% số điểm không có ràng buộc gì thêm.

4. Tính tổng dãy số

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

Cho số nguyên dương \(n\).

Yêu cầu:

Hãy tính tổng \(S= - 1 + 2 - 3 +...+n.(-1)^n\)

Dữ liệu vào:

  • Ghi số nguyên \(n, (1 \leq n \leq10 ^{12})\).

Dữ liệu ra:

  • In ra kết quả tìm được.
Ví dụ:
Input
4
Output
2

Ràng buộc:

  • Có 75% số test tương ứng với 75% số điểm của câu có \(n < 10 ^ 6\)
  • Có 25% số test tương ứng với 25% số điểm của câu có \(n \leq 10 ^{12}\)